1

以下に示すこのコードの友達、プレイインテントからの再開時にテキストビューを更新したいと思います。しかし、OnCreateからメインクラス内(静的intスコアの後)でテキストビューを定義しようとすると、アプリがクラッシュします。

public class MainProjectActivity extends Activity {
    /** Called when the activity is first created. */

    static int Score = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //Display Scores
        final TextView displayScores = (TextView)findViewById(R.id.scoreDisplay);
        displayScores.setText("Your Score : "+ Score);

        //Play Game button activity
        Button gameButton = (Button)findViewById(R.id.PlayButton);
        gameButton.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent play = new Intent(getApplicationContext(), com.sample.game.PlayScreen.class);
                startActivity(play);
            }
        });
4

3 に答える 3

3

私はsuper.onResume();を追加することから始めます::

@Override
protected void onResume(){
    super.onResume();
    // The rest
}

私もそれを削除します:

final TextView displayScores = (TextView)findViewById(R.id.scoreDisplay);
        displayScores.setText("Your Score : "+ Score);

onCreateから、onResume()に追加します。これは、onCreateが呼び出されるたびに、onResumeも呼び出されるためです。

また、パブリックから保護されたonResume()に変更します

于 2012-06-03T11:40:18.210 に答える
1

これを試して:

public class MainProjectActivity extends Activity {
    /** Called when the activity is first created. */
TextView displayScores;
    static int Score = 0;
@Override
protected void onResume(){
    super.onResume();
    // code to update the date here
    displayScores.setText("Your Score : "+ Score);

}
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //Display Scores
        displayScores = (TextView)findViewById(R.id.scoreDisplay);
        displayScores.setText("Your Score : "+ Score);

        //Play Game button activity
        Button gameButton = (Button)findViewById(R.id.PlayButton);
        gameButton.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent play = new Intent(getApplicationContext(), com.sample.game.PlayScreen.class);
                startActivity(play);
            }
        });
于 2012-06-03T11:37:10.003 に答える
0
@Override
    protected void onResume() {
        // TODO Auto-generated method stub

        displayScores.setText("Your Score : "+ Score);

        super.onResume();
    }
于 2012-06-03T11:21:12.047 に答える