0

私のアプリでは、2 つのアクティビティがあります。最初は各ページにリストがあるアクションバーで、2 つ目は設定アクティビティで、アクションバーに含まれるタブの数とタブを設定できます。すべてが機能しますが、最後のことは、設定を行ってボタンをクリックしたときに最初のアクティビティに戻る方法です。JSONRpcクライアントが開始されており、接続に時間がかかるなど、迷惑になるため、インテントを渡してアクティビティを新しいものとして開始したくありません。私はfinish() 2番目のアクティビティを試してsetActionBar onResume()を呼び出しましたが、うまくいきました...何かアイデアはありますか?? ありがとう..いくつかのコードをここに:

最初の活動:

 public void onCreate(Bundle savedInstanceState){
 super.onCreate(savedInstanceState);

 Rubriky = ((HNapp) this.getApplication()).getRubriky();
 count=((HNapp) this.getApplication()).getCount(); 

 int catIndex = savedInstanceState == null ? 0 :savedInstanceState.getInt("catIndex", 0);
 setUpActionBar(catIndex);
 }
 //my try
 public void onResume(Bundle savedInstanceState){
    super.onResume();
    int catIndex = savedInstanceState == null ? 0 : savedInstanceState.getInt("catIndex", 0);
    Rubriky = ((HNapp) this.getApplication()).getRubriky();
    count=((HNapp) this.getApplication()).getCount();
    setUpActionBar(catIndex);
}

 //setting up actionbar
 public void setUpActionBar(int selTab) {

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(false);

    CABNavHan handler = new CABNavHan(this);

        actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
        int i;
        for (i = 0; i < count; i++) {
            actionBar.addTab(actionBar.newTab().setText(Rubriky[i]).setTabListener(handler));
        }
    actionBar.setSelectedNavigationItem(selTab);
    actionBar.setDisplayUseLogoEnabled(true);
    }
4

2 に答える 2

0

onBackPressed();を呼び出します。ここで、最初のアビティビティに戻りたいと思います。

于 2012-08-23T08:32:54.353 に答える
0
  1. count が期待どおりに onResume を更新していることを確認しましたか?

  2. onResume で、既に入力されている UI オブジェクトに対して同じ動作を行っていることに気付きました。この UI インスタンスの ActionBar が既に構成されており、再作成するのではなく更新する必要がある可能性はありますか? あなたが提供したコードスニペットからはわかりにくいです。

于 2012-08-23T08:26:49.463 に答える