0

actionBar.setHome 関数は、Application Home Activity を呼び出します。呼び出し中は、アプリを再度開くのと同じです。つまり、ホーム アクティビティをロードするのを待たなければならないということです。ホームアクティビティを再ロード、再ロードするのではなく、ホームアクティビティを非表示にするか、ホームアクティビティのメモリを保存する方法があるかもしれないと思います。ホーム アクティビティにはフォントが埋め込まれており、2 つのタブとボタンがあります。ホーム アクティビティからのボタンの場合、アクティビティは別のアクティビティに移動し、そこで actionBar.setHome 関数がホーム アクティビティをリロードするのと同じようにリダイレクトします。
子アクティビティ コード:

public void onCreate(Bundle savedInstanceState) {
.......................
.......................
actionBar.setHomeAction(new IntentAction(this, createIntent(this),
            R.drawable.ic_title_home_default));
  }
  //calling Parent Activity
   private static Intent createIntent(Context context) {
    Intent i = new Intent(context, CustomTabActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    return i;
  }



別のアクティビティから Home Activity を呼び出した後の Logcat:

04-14 22:20:49.788: I/ActivityManager(245): Starting: Intent { flg=0x4000000 cmp=com.joshclemm.android.tabswithactivity/.CustomTabActivity } from pid 30761
04-14 22:20:49.838: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.898: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.908: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.918: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.928: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.938: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.958: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.968: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.978: D/szipinf(30761): Initializing inflate state
04-14 22:20:49.988: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.008: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.018: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.028: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.038: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.048: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.068: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.078: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.088: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.098: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.118: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.128: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.138: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.148: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.158: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.178: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.188: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.198: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.208: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.228: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.238: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.248: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.258: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.268: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.288: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.298: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.308: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.318: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.338: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.348: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.568: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.648: D/szipinf(30761): Initializing inflate state
04-14 22:20:50.678: D/skia(30761): purging 191K from font cache [28 entries]
04-14 22:20:50.718: D/skia(30761): purging 192K from font cache [27 entries]
04-14 22:20:50.978: I/ActivityManager(245): Displayed com.joshclemm.android.tabswithactivity/.CustomTabActivity: +1s172ms

Home Activity Class-> OnCreate() または一度ロードされた場合に再ロードを試行しないメソッドには、どのような追加コードが必要ですか? または、関数が別のアクティビティを呼び出す場合にホーム アクティビティを非表示にする方法は?

4

1 に答える 1

0

たわごと私は自分の質問を自分で解決します。この質問のすべての視聴者に感謝します。

public void onCreate(Bundle savedInstanceState) {
.......................
.......................
actionBar.setHomeAction(new IntentAction(this, createIntent(this),
            R.drawable.ic_title_home_default));
  }
  //calling Parent Activity
   private static Intent createIntent(Context context) {
    Intent i = new Intent(context, CustomTabActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    return i;
  }

変更: FLAG_ACTIVITY_REORDER_TO_FRONT

于 2013-04-14T16:25:32.167 に答える