6

現在、私のアクティビティでは、ユーザーが特定のデータを入力できます。スピナーなどを含みます。ユーザーが次をクリックすると、システムは別の画面に移動します。電話の戻るボタンを押すと、以前のアクティビティが読み込まれ、入力されたデータが利用可能になります。

私の要件では、UIにソフトな「戻る」ボタンを表示するように求められます。ユーザーがクリックすると、前の画面に戻りますが、入力されたデータは利用できません。

ソフトUIボタンのonclickイベントで戻るボタンをシミュレートする方法はありますか?

Intent back = new Intent(ImagePreviewActivity.this, sendingpage.class);
startActivity(back);

よろしくお願いします。

4

5 に答える 5

15

Activity finish()ユーザーがソフト戻るボタンをクリックしたときにメソッドを呼び出すだけです。

編集:Activity実装OnClickListenerしてからコードで実行するだけです

          myBackButton.setOnClickListener(this);
   ....

   public void onClick(View v) {
       if(v.getId()==R.id.YourBackButton){
           finish();
       }
   }

EDIT2 : から呼び出すこともできonBackPressed()ますActivity

于 2011-08-01T11:36:39.497 に答える
3

アクティビティを使用して別の画面を表示している場合は、ボタンのクリックに基づいた結果でアクティビティを終了するだけで、アクティビティ結果の値を返すことができます。これは、前のアクティビティの onActivityResult で処理できます。

いくつかの疑似コードを追加します。2 つのアクティビティ A と B があり、A -> B から B -> A に移動するとします。

活動Aで

 startActivityforResult(new Intent(A.this, B.class), 1234);

 onActivityResult(......) {
    if (1234 == requestCode) {
        switch (resultCode) {
             /* Do your processing here like clear up old values and so on */
        }
    }
 }

アクティビティ B で

onClick() {

  if (v == backBtn) {
           Intent resultIntent = new Intent();
    setResult(Activity.RESULT_OK, resultIntent);
    finish();
 }
}
于 2011-08-01T11:36:16.030 に答える
1

前に述べたように、アクティビティを終了するだけです。

myButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        finish();
    }
});
于 2011-08-01T11:51:03.760 に答える
-1

ソフトの [戻る] ボタンの onClick イベントに書き込みます

Intent _intent = new Intent(PresentActivity.this,PreviousActivity.class);
startActivity(_intent);
于 2011-08-01T11:35:46.097 に答える