1

次の構造を想像してみましょう。

ActivityA ---->  contains TabHostA, Button1

TabHostA  ---->  in one of its tabs holds the ActivityB that contains TextView1

TabHostは次のような意図で満たされています。

TabSpec tab = mTabHost.newTabSpec("tab1").setIndicator("tab1")
        .setContent(new Intent(this, ActivityB.class));
mTabHost.addTab(tab);

そして、Button1が押されたときにTextView1が変更されるようにしたいです。この変更を行うために、ActivityAからTextView1にアクセスしたり、ActivityBとActivityAを通信したりするにはどうすればよいですか?

「タブモデル」を変更しようとしないでください。これは、より複雑な問題(フラグメント内のMapViewを検索する場合)に起因するものであり、それが独自の動作方法であるためです。

4

2 に答える 2

1

多分そのように?

((TabActivity) getParent()).getTabHost()

次に、指定されたタブのTextViewを編集できます。

于 2012-04-12T10:13:19.407 に答える
1

を使用BroadCastRecieverして、Buttonを押すと、から放送しActivityA、BroadCastを受信して​​内容を変更するようにActivityB登録します。BroadCastRecieverTextView

于 2012-04-12T10:36:40.643 に答える