0

次のようなタブ アクティビティを使用してアプリケーションを作成しました。

intent = new Intent().setClass(this, FirstActivity.class);  
spec  = tabHost.newTabSpec("Tab1").setIndicator("Tab1",res.getDrawable(R.drawable.tab1)).setContent(intent); 
tabHost.addTab(spec); 

FirstActivity.class には、onclick リスナーを持つボタンがあります。

@Override
public void onClick(View v) {

      Intent i = new Intent(FirstActivity.this, OtherActivity.class);
      i.putExtras(bundle);
      startActivity(i);

}

しかし、クリックすると、「OtherActivity」タブが非表示になります。「FirstActivity」ではなく、TabActivity でボタンをクリックして「OtherActivity」を開く方法を探しています。

4

2 に答える 2

0

次のような中間タブアクティビティを作成する必要があります

public class IntermediateActivity extends TabGroupActivity {

                @Override
                public void onCreate(Bundle savedInstanceState) {
                    // TODO Auto-generated method stub
                    super.onCreate(savedInstanceState);
                    startChildActivity("IntermediateActivity", new Intent(this,OtherActivity.class));
                }

}

あなたのボタンをクリックして、次のコードを書きます

 Intent i = new Intent(getParent(),IntermediateActivity.class); 
 TabGroupActivity parentActivity = (TabGroupActivity) getParent();
 parentActivity.startChildActivity("move to otheractivity activity", i);                                                                                                                                                                                                                                              

お役に立てれば..

于 2013-09-27T13:36:55.647 に答える
0

startActivty メソッドを使用して OtherActivity を切り替えることはできません。タブホストに FirstActivity と OtherActivity を追加し、tabhost を使用してアクティビティを切り替える必要があります。FirstActivity でブロードキャストを送信し、TabActivity で受信者を登録してクリック アクション メッセージを受信するには、tabhost スイッチを使用します。

Androidの新しいバージョンでは、アクティビティの代わりにフラグメントを使用して複数のタブを表示できます。

于 2013-09-27T13:30:13.493 に答える