5

Android アプリ (API レベル 14) に ActionBar があります。アプリのアイコンが付いたホームボタンがあります。MainActivity では、EditText ビューに短いテキストを書き込みます。PreferenceActivity に移動すると、アイコンに矢印が表示され、ホーム アクティビティ (MainActivity) に移動できます。

  // PreferenceActivity-onCreate
  ActionBar actionBar = getActionBar();
  actionBar.setDisplayHomeAsUpEnabled(true);

ActionBar でそのアプリ アイコンをクリックして MainActivity に戻ります

// PreferenceActivity
@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
   switch (item.getItemId()) 
   {
     case android.R.id.home:
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        return true;
     default:
        return super.onOptionsItemSelected(item);
   }
}

これで、MainActivity が再度作成され、EditText のテキストがなくなりました。私は、Intent.FLAG_ACTIVITY_CLEAR_TOP で MainActivity を維持できると考えました。デバイスの戻るボタンを使用するような動作が必要です。

4

2 に答える 2

0

これが正しい方法だと思います。https://stackoverflow.com/a/15933890/238768

Intent.FLAG_ACTIVITY_CLEAR_TOP を使用すると、Gepro がやりたいこととは正反対の動作が発生します。

于 2013-10-26T20:45:29.493 に答える