У меня есть приложение с двумя вкладками, первое - списком, а второе я пытаюсь создать TextView. Проблема в том, что я понятия не имею, как получить TextView. Listview работает, но я ничего не могу получить в TextView. Я попытался использовать Hello, World, чтобы попытаться работать с текстом на вкладке, но я не могу понять это.
Раздел main.xml с TabWidget выглядит следующим образом:
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/itemlist" />
<TextView
android:id="@+id/HelloAndroid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
ListView используется в java файле с кодом mTabHost,
TabHost mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Answer").setContent(R.id.itemlist));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));
mTabHost.setCurrentTab(0);
}
TextView находится в другом файле HelloAndroid.java, и код выглядит так:
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
Как я могу его исправить, чтобы вторая вкладка отображала текст примера? Спасибо!
Если я правильно понял, вы хотите отобразить активность HelloAndroid как содержимое второй вкладки. Если я прав, вместо этого:
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));
вы должны называть это:
Intent i = new Intent(this, HelloAndroid.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(i));
Но вы должны помнить, что ваша активность HelloAndroid не имеет ничего общего с TextView в вашем файле макета. Поэтому, вероятно, было бы лучше не устанавливать активность как содержимое вкладки, а изменять значение текстового представления из вашего файла макета.
PS. Не забудьте поместить вашу активность HelloAndroid в Manifest.xml