2012-06-06 24 views
9

Oyuncuların adlarını düzenleme metinlerine girdiği bir uygulama oluşturuyorum. Bu bilgi alınır ve ekstralar aracılığıyla ikinci bir etkinliğe gönderilir. Bunu ne zaman çalıştırsam, bir Kaynak $ NotFoundException alıyorum. Bu kodumdan veya kaynak klasörümdense eminim.

@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(); 
} 

Ve burada logcat hatası (GÜNCELLENDİ LogCat RAPOR) 'dir: Burada

İşte
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); 
} 

alıcı etkinliği için kodudur (TOST TABLOLARIN OLMADAN GÜNCELLENDİ) benim kodudur

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 
+0

Bu hatanın nedeni saçmadır .. en azından android uygun makul hata mesajı vermelidir. Bu hataya 2-3 saat israf ettim, burayı erken ziyaret etmeliydim :( –

cevap

39

Bu ilk Tost çağrısı:

Toast.makeText(this, number, Toast.LENGTH_SHORT).show(); 

Burada, ikinci argüman bir tamsayıdır (number), bu bir dize kimliği olduğunu düşünür. number'u number+"" ile değiştirmeyi deneyin.

+15

Daha iyi bir yol 'String.valueOf (number)' kullanıyor olabilir. –

+0

Tamam ... teşekkürler, yakalamadığım bir hataydım ama tost ifadelerini toast ifadesinden önce veya sonra görüp görmediğimi görmek için kullanıyorum.Tastik ifadeleri kaldırdığımda, uygulama kuvveti kapanıyor.Teşekkürlerim – Drew

+0

Lütfen Tost hattını düzeltin/kaldırın ve yeni LogCat'ı ​​gönderin Bu nedenle, kuvvetteki kapanışın nerede olduğunu görebilmemiz için – Eric

İlgili konular