Por favor, deixe-me saber onde estou errando para obter o erro.
Estou criando um aplicativo que tem uma de suas atividades apenas no modo paisagem. Então, adicionei o seguinte no arquivo AndroidManifest.xml
<activity android:name=".LandScapeImageActivity" android:screenOrientation="landscape"></activity>
Eu criei uma pasta como
/ res / layout-land
e adicione um layout chamado see_today_landscape_layout nele.
e onCreate()
eu adicionei o seguinte
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.see_today_landscape_layout);
....
}
Mas quando executo meu aplicativo, recebo o seguinte erro
02-06 13:46:14.358: E/AndroidRuntime(13286): FATAL EXCEPTION: main
02-06 13:46:14.358: E/AndroidRuntime(13286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mid.kew.activities/com.mid.kew.activities.LandScapeImageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4066)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.access$2400(ActivityThread.java:135)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Looper.loop(Looper.java:144)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.main(ActivityThread.java:4937)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invokeNative(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invoke(Method.java:521)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-06 13:46:14.358: E/AndroidRuntime(13286): at dalvik.system.NativeStart.main(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getValue(Resources.java:892)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getLayout(Resources.java:731)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Activity.setContentView(Activity.java:1654)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.mid.kew.activities.LandScapeImageActivity.onCreate(LandScapeImageActivity.java:103)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
02-06 13:46:14.358: E/AndroidRuntime(13286): ... 12 more
Cruzei o check in R.java e ele tem o recurso com o ID 7f03002b que a exceção está procurando e está presente aí ...
Limpei e reconstruí o projeto, digamos, 5 vezes, mas o problema ainda ocorre.
O estranho é que isso estava funcionando ontem e não está funcionando hoje. O código é o mesmo.
see_today_landscape_layout.xml
arquivo.compile 'com.android.support:appcompat-v7:23.4.0'
se continuar comv7:22.2.0'
ele funcionaRespostas:
se isso acontecer novamente, exclua o arquivo r.java. ele será gerado automaticamente.
fonte
Para minha condição, a causa estava tomando
int
parâmetro paraTextView
. Deixe-me mostrar um exemploint i = 5; myTextView.setText(i);
obtém as informações de erro acima.
Isso pode ser corrigido convertendo
int
paraString
estemyTextView.setText(String.valueOf(i));
À medida que você escreve
int
, ele espera um recurso, não o texto que você está escrevendo. Portanto, tenha cuidado ao definir umint
comoString
no Android.fonte
Já que você está definindo o layout explicitamente, você pode querer tentar colocá-lo na pasta / layout padrão, não em / layout-land, já que se deseja que o Android controle a rotação automaticamente para você.
fonte
Tente mover seu layout xml de
res/layout-land
para ares/layout
pastafonte
res/layout-sw600dp
parares/layout
então ele funcionou .. Obrigado por seus ans ..Isso pode acontecer devido a um idioma diferente no telefone para o qual seu código não tem o ativo. Por exemplo, sua preferência.xml é colocada em xml-en e você está tentando executar seu aplicativo em um telefone com francês selecionado, o aplicativo irá travar.
fonte
Recebi esse erro por outro motivo:
Eu tinha o arquivo
res/xml/data.xml
e estava tentando carregá-lo com umaResources
classe assim:Resources.getSystem().getXml(R.xml.data);
No entanto, isso está incorreto, pois o método
Resources.getSystem()
retorna um objeto global compartilhado de recursos que fornece acesso apenas aos recursos do sistema.A maneira correta é a seguinte (de dentro da Activity):
this.getResources().getXml(R.xml.data);
fonte
No meu caso, minha versão Build Tools em meu build.gradle para o módulo de app estava desatualizada em um projeto antigo. A atualização corrigiu o problema:
android { ... buildToolsVersion "19.0.1" ...
Atualizado para a última versão das ferramentas de compilação (25.0.1), sincronizei o projeto e tudo ficou bem novamente.
fonte
Verifique se suas importações estão corretas. Eu tive um problema semelhante onde
R
estava apontando para oR
arquivo de sistema Android , não o meu local.fonte
Excluí pastas de
build
um projeto. Depois de limpo e reconstruído no Android Studio. Em seguida, corrigiu os erros em build.gradle e AndroidManifest.fonte
Isso também pode causar alguns problemas: acidentalmente, um dos meus layouts foi estacionado na pasta de recursos do meu tablet, então recebi este erro apenas com o layout do telefone. O layout do telefone simplesmente não tinha um arquivo de layout adequado.
Trabalhei novamente depois de mover o arquivo de layout para a pasta padrão correta e a seguinte reconstrução do projeto.
fonte
Certifique-se de que o R para o qual você está apontando seja o correto. Tive um problema muito semelhante a este, em que uma importação foi inserida pelo Eclipse que apontava para o arquivo System R ao invés do do projeto. Foi preciso coçar muito a cabeça. Espero que isto ajude.
fonte
Você tem a orientação da tela definida para paisagem em seu xml. Se você usou o eclipse para gerar este arquivo, ele teria criado em res / layout-land / folder. Mas quando você abrir a atividade no modo Retrato, o aplicativo pesquisará por xml em res / layout-port / folder ou res / layout / regular . Se você não tiver xml para o modo retrato, seu aplicativo irá travar.
fonte
Eu consertei desta forma:
Crie uma pasta em seu nome de diretório de recursos
"drawable-nodpi"
e, em seguida, mova todos os seus recursos neste diretório de outro diretório drawable.Agora limpe seu projeto e reconstrua-o. Execute novamente, com sorte, desta vez funcionará sem nenhuma exceção de recurso não encontrado.
fonte
Recebi este erro quando estava tentando acessar dados Bundle do One Intent usando getInt ("ID").
Resolvi usando getString ("ID").
Da Activity1 eu tive
Intent intent=new Intent(this,ActivityB.class); intent.putExtra("data",data)// startActivity(intent);
Na Atividade B,
Bundle bundle=getIntent().getExtras(); if(extras!=null){ // int x=extras.getInt("Data"); This Line gave me error int x=Integer.parseInt(extras.getString("Data")); // This solved the problem. }
fonte
Para mim, a invalidação do cache e a reinicialização não funcionaram. Removi as pastas .idea e .gradle. Se você fizer isso, não se esqueça que coisas como criar logs ou algo assim pode desaparecer.
fonte