0

我有一个 Activity(1),它打开另一个 Activity(2) 以获得结果,并且该结果被保存SharedPreferences并在 Activity 再次启动时显示。但是当 2 返回结果并且 1 必须重新启动时,手机说应用程序没有响应。这是我的OnActivityResult()方法:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if (data.getExtras().containsKey("score")) {
            a +=Integer.valueOf(data.getStringExtra("score")); 
        }
        while(a>0){
        SharedPreferences prefs = getSharedPreferences("score", 0);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("intScore", a);
        editor.commit();
        }
    } 

我在OnCreate()方法中有这个:

SharedPreferences prefs = getSharedPreferences("score", 0);
        txtScore.setText(" "+prefs.getInt("intScore", 0));

请帮我!

4

1 回答 1

1

在你的onActivityResult支票上

if(resultCode == RESULT_OK && requestCode == YOUR_REQUEST_CODE)
{

 // then your statements
}

并且activity2不要忘记setResult()

于 2013-07-02T05:24:51.347 回答