Android-Ressourcen $ NotFoundException
Ich erstelle eine App, in der die Spieler ihre Namen in die Bearbeitungstexte eingeben. Diese Informationen werden abgerufen und über Extras an eine zweite Aktivität gesendet. Immer wenn ich dies ausführe, erhalte ich eine Resources $ NotFoundException. Ich bin mir sicher, ob dies aus meinem Code oder aus meinem Ressourcenordner stammt.
Hier ist mein Code (AKTUALISIERT OHNE TOAST STATEMENTS)
private void getNames(int number){
Intent intent = new Intent(Setup.this, Test.class);
intent.putExtra("numberofplayers", number);
try {
if(!player1.getText().toString().contentEquals(""))
p1 = player1.getText().toString();
else
p1= "Player 1";
if(!player2.getText().toString().contentEquals(""))
p2 = player2.getText().toString();
else
p2= "Player 2";
if(!player3.getText().toString().contentEquals(""))
p3 = player3.getText().toString();
else
p3= "Player 3";
if(!player4.getText().toString().contentEquals(""))
p4 = player4.getText().toString();
else
p5= "Player 5";
if(!player6.getText().toString().contentEquals(""))
p6 = player6.getText().toString();
else
p6= "Player 6";
if(!player7.getText().toString().contentEquals(""))
p7 = player7.getText().toString();
else
p7= "Player 7";
if(!player8.getText().toString().contentEquals(""))
p8 = player8.getText().toString();
else
p8= "Player 8";
switch (number) {
case 2:
String[] a = {p1,p2};
names=a;
break;
case 3:
String[] b = {p1,p2,p3};
names=b;
break;
case 4:
String[] c = {p1,p2,p3,p4};
names=c;
break;
case 5:
String[] d= {p1,p2,p3,p4,p5};
names=d;
break;
case 6:
String[] e = {p1,p2,p3,p4,p5,p6};
names=e;
break;
case 7:
String[] f = {p1,p2,p3,p4,p5,p6,p7};
names=f;
break;
case 8:
String[] g = {p1,p2,p3,p4,p5,p6,p7,p8};
names=g;
break;
}
} catch (Exception e) {
Log.e("Setup.class Error:", e.getMessage());
}
//Toast.makeText(this, number + "", Toast.LENGTH_SHORT).show();
//for(int q =0;q<names.length;q++)
// Toast.makeText(this, names[q], Toast.LENGTH_SHORT).show();
intent.putExtra("namearray", names);
startActivity(intent);
}
Hier ist der Code für die Empfangsaktivität:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle ext = getIntent().getExtras();
int i= ext.getInt("numberofplayers");
String[] names = ext.getStringArray("namearray");
Toast.makeText(this, i, Toast.LENGTH_SHORT).show();
for(int q =0;q<names.length;q++)
Toast.makeText(this, names[q], Toast.LENGTH_SHORT).show();
}
Und hier ist der logcat-Fehler (AKTUALISIERTER LOGCAT-BERICHT):
06-06 21:21:07.267: E/AndroidRuntime(2538): FATAL EXCEPTION: main
06-06 21:21:07.267: E/AndroidRuntime(2538): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.brightdesign.truthordare/com.brightdesign.truthordare.Test}: android.content.res.Resources$NotFoundException: String resource ID #0x2
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Handler.dispatchMessage(Handler.java:99)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.os.Looper.loop(Looper.java:137)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invokeNative(Native Method)
06-06 21:21:07.267: E/AndroidRuntime(2538): at java.lang.reflect.Method.invoke(Method.java:511)
06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-06 21:21:07.267: E/AndroidRuntime(2538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-06 21:21:07.267: E/AndroidRuntime(2538): at dalvik.system.NativeStart.main(Native Method)
06-06 21:21:07.267: E/AndroidRuntime(2538): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.content.res.Resources.getText(Resources.java:247)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.widget.Toast.makeText(Toast.java:260)
06-06 21:21:07.267: E/AndroidRuntime(2538): at com.brightdesign.truthordare.Test.onCreate(Test.java:16)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Activity.performCreate(Activity.java:4465)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-06 21:21:07.267: E/AndroidRuntime(2538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
06-06 21:21:07.267: E/AndroidRuntime(2538): ... 11 more