0

バンドルを含むアクティビティを開始しようとしています。このアクティビティにはまだ何も渡されていないため、今のところこのバンドルをnullに設定しようとしています。

public class DailyActivities  extends Activity implements OnClickListener{
     TextView scoreA
    int gotA;
    int counter_score;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
          counter_score=0;
          int questions_1 = 26;

        initialize();

          ///////PSEUDO CODE...this is where Im trying to say, if no bundled is passed,
          ////////then setText for scoreA to the int counter score, 
           ////////so that the activity doesn't crash due to null pointer exception////
        Bundle gotA = getIntent().getExtras();
        if(gotA == null){ 
        scoreA.setText(counter_score);
          }else if (gotA != null){
        gotLetterA = gotA.getInt("key");
         counter_score = gotLetterA;
         int percentage = (int)( gotLetterA * 100.0 / questions_1 + 0.5);
         scoreA.setText(percentage);

   }   
}

現在、アクティビティはandroid.resourcesnotfoundエラーでクラッシュします

編集-追加されたエラーログ

08-24 10:39:33.180:E / AndroidRuntime(21177):致命的な例外:メイン08-24 10:39:33.180:E / AndroidRuntime(21177):java.lang.RuntimeException:アクティビティComponentInfo{comを開始できません。 test.app/com.test.app.DailyActivities}:android.content.res.Resources $ NotFoundException:文字列リソースID#0x0 08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2059)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.access $ 600(ActivityThread.java:130)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread $ H.handleMessage(ActivityThread .java:1195)08-24 10:39:33.180:E / AndroidRuntime(21177):android.osで。Handler.dispatchMessage(Handler.java:99)08-24 10:39:33.180:E / AndroidRuntime(21177):android.os.Looper.loop(Looper.java:137)08-24 10:39:33.180: E / AndroidRuntime(21177):android.app.ActivityThread.main(ActivityThread.java:4745)08-24 10:39:33.180:E / AndroidRuntime(21177):java.lang.reflect.Method.invokeNative(Nativeメソッド)08-24 10:39:33.180:E / AndroidRuntime(21177):at java.lang.reflect.Method.invoke(Method.java:511)08-24 10:39:33.180:E / AndroidRuntime(21177) :com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)08-24 10:39:33.180:E / AndroidRuntime(21177):com.android.internal.os.ZygoteInit.main (ZygoteInit.java:553)08-24 10:39:33.180:E / AndroidRuntime(21177):dalvik.system.NativeStart.main(ネイティブメソッド)08-24 10:39:33.180:E / AndroidRuntime(21177) : のせいで:android.content.res.Resources $ NotFoundException:文字列リソースID#0x0 08-24 10:39:33.180:E / AndroidRuntime(21177):android.content.res.Resources.getText(Resources.java:229)08- 24 10:39:33.180:E / AndroidRuntime(21177):android.widget.TextView.setText(TextView.java:3620)08-24 10:39:33.180:E / AndroidRuntime(21177):com.MovilTeacher_titanで。 app.DailyActivities.onCreate(DailyActivities.java:164)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.Activity.performCreate(Activity.java:5008)08-24 10:39: 33.180:E / AndroidRuntime(21177):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread .java:2023)文字列リソースID#0x0 08-24 10:39:33.180:E / AndroidRuntime(21177):android.content.res.Resources.getText(Resources.java:229)08-24 10:39:33.180:E / AndroidRuntime (21177):android.widget.TextView.setText(TextView.java:3620)08-24 10:39:33.180:E / AndroidRuntime(21177):com.MovilTeacher_titan.app.DailyActivities.onCreate(DailyActivities.java: 164)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime(21177):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)文字列リソースID#0x0 08-24 10:39:33.180:E / AndroidRuntime(21177):android.content.res.Resources.getText(Resources.java:229)08-24 10:39:33.180:E / AndroidRuntime (21177):android.widget.TextView.setText(TextView.java:3620)08-24 10:39:33.180:E / AndroidRuntime(21177):com.MovilTeacher_titan.app.DailyActivities.onCreate(DailyActivities.java: 164)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime(21177):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)180:E / AndroidRuntime(21177):android.widget.TextView.setText(TextView.java:3620)08-24 10:39:33.180:E / AndroidRuntime(21177):com.MovilTeacher_titan.app.DailyActivities.onCreate (DailyActivities.java:164)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime (21177):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)180:E / AndroidRuntime(21177):android.widget.TextView.setText(TextView.java:3620)08-24 10:39:33.180:E / AndroidRuntime(21177):com.MovilTeacher_titan.app.DailyActivities.onCreate (DailyActivities.java:164)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime (21177):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10:39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)at android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime(21177):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10 :39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)at android.app.Activity.performCreate(Activity.java:5008)08-24 10:39:33.180:E / AndroidRuntime(21177):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)08-24 10 :39:33.180:E / AndroidRuntime(21177):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)

ここのSooooooが解決策です、私は密集していた笑

Bundle gotA = getIntent().getExtras();{ 
if(gotA == null){ scoreA.setText("0%"); 
}else { 
myPkg = gotA.getInt("key"); 
counter_score = myPkg; 
int percentage = (int)( myPkg * 100.0 / questions_1 + 0.5);

scoreA.setText(""+percentage); 
} 
}
4

2 に答える 2

1

パーセンテージは整数です。setText(percentage) への呼び出しは、パーセンテージ値ではなく、リソース ID を想定しています。

これを試してください: setText(""+percentage)。

これにより、パーセンテージが文字列に変換され、代わりに setText() に渡されます。

ps WOUNDEDSteveJones も正しいです。findViewById() の呼び出しが必要ですが、どこかにそれがあるか、このアプリが別の方法でクラッシュしたと思います。

于 2012-08-23T18:15:22.220 に答える
0

そのテキスト フィールドに scoreA を割り当てていないようです。

scoreA = (TextView) findViewById(R.id.score);参照する前に、次のようなものを追加する必要があります。

于 2012-08-23T17:42:13.663 に答える