0

簡単に言えば。TabActivity のコンテキスト メニューから、現在のタブのインテントの実行を開始するにはどうすればよいですか? 強制的にリフレッシュしようとしています。

タブはすべて、人の名前のサブセットを表示するアクティビティを開始します。1 つのリストで、名前を TabHost 内の他のリストの 1 つに関連付けることができる編集アクティビティを呼び出します。戻るボタンを使用してタブホストに戻り (onResume が起動)、リストが更新されていません。現在のタブを更新するためのコンテキスト メニュー項目が必要です。

タブホストのすべてのビューに対して 1 つのアクティビティを使用することは知っていますが、多くの理由からその方法を選択していません。

4

2 に答える 2

2

最初にタブを設定するときに、意図にフラグを追加することもできます。

    Intent i = new Intent().setClass(this, YourClass.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    TabHost.TabSpec spec = tabHost.newTabSpec("name")
.setIndicator("Class",res.getDrawable(R.drawable.ic_tab_something))
.setContent(intent);

    Tabhost tabHost.addTab(spec);
于 2011-01-05T15:52:28.667 に答える
-1

アクティビティのライフサイクルが原因で、アクティビティを「再起動」する際に問題が発生すると思います (アクティビティのライフサイクル - startActivity() ) - onCreate メソッド内にあるロジックを別のメソッドに移動する場合は、onCreate からメソッドを呼び出します。と onResume を使用して、タブのコンテンツを再構築します。

または、このメソッドを呼び出すメニュー項目を追加して、最初の実行時に onCreate がロジック メソッドを呼び出し、ユーザーがメニューから呼び出して内容を更新できるようにすることもできます。

于 2010-11-02T12:05:25.337 に答える