タブを持つビューがあります。各タブ内に、別のビューを作成しています。
したがって、タブを含むビューは、タブ内のビューを作成するために使用されるアクティビティとは異なるアクティビティで作成されます。
メインアクティビティからタブのビュー内に配置された EditTextView のテキストにアクセスするにはどうすればよいですか?
タブを持つビューがあります。各タブ内に、別のビューを作成しています。
したがって、タブを含むビューは、タブ内のビューを作成するために使用されるアクティビティとは異なるアクティビティで作成されます。
メインアクティビティからタブのビュー内に配置された EditTextView のテキストにアクセスするにはどうすればよいですか?
TabHost.TabSpec .setIndicator(label) を使用して、タブのコンテンツをカスタマイズできます。
タブレイアウト
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" >
<TextView android:id="@+id/title" />
</RelativeLayout>
実装方法 (スニペットの例)
// For each record I have, I want to display a Tab.
for (Record r: myRecords) {
setupTab(new TextView(mContext), r);
}
private void setupTab(final View view, final Record record) {
TabSpec tabSpec = mTabHost.newTabSpec(..ID..);
tabSpec.setContent(new TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
View tabIndicator = LayoutInflater.from(mTabHost.getContext()).inflate(R.layout.tab_layout, null);
// Find you TextView by ID and alter it.
((TextView) tabIndicator.findViewById(R.id.title)).setText(record.getTitle());
// Set is as indicator
tabSpec.setIndicator(tabIndicator);
// Add it to the TabHost
mTabHost.addTab(tabSpec);
}