0

私は1か月以上探していましたが、これをどこでも解決できません。戻るボタンを押すたびに、アプリが閉じます。finish()をオーバーライドして検索しましたがonBackPressed()、この問題を解決できないようです。

public class Toasty extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_toasty);

    Button button = (Button) findViewById(R.id.button1);

    button.setOnClickListener(new OnClickListener() {

          public void onClick(View arg0) {
             Toast.makeText(getApplicationContext(),
                     "Here's your toast!", Toast.LENGTH_LONG).show();
             setContentView(R.layout.activity_show_toast);
          }
    });
  }
}

これは私がすることのほとんどすべてです。次の画面にテキストビューが表示され、トーストがポップアップします。次に、その戻るボタンを押すと、ボタンをもう一度押すことができるようにリセットするだけでアプリが終了します。

4

1 に答える 1

3

「前のビューに戻らない」

これは、戻るボタンを押してもビューが表示されないため、アクティビティが表示されたままになるためです。

したがって、アクティビティが1つある場合は、ビューを何度変更しても、アプリケーションを終了します。

動作を変更するには:

A. 2番目のビューで新しいアクティビティを作成し、インテントを介してそのアクティビティに移動します

  Intent i = new Intent(this, ActivityTwo.class);
  startActivity(intent); 

注:ActivityTwoは、ビューとしてR.layout.activity_toastyを含むアクティビティになります

B.以下のように戻るボタンを上書きします

@Override
public void onBackPressed(){
     if(currentViewIsShowToast){
         setContentView(R.layout.activity_toasty);
         //Change activity to previous view
     }
     else 
         super.onBackPressed();
}
于 2012-12-08T03:23:04.177 に答える