#android #sqlite
#Android #sqlite
Вопрос:
Я хочу загрузить tab3 при загрузке, но он загружает tab3 с содержимым tab1. ниже приведен код, который я создаю для загрузки 3 вкладок, и я хочу, чтобы tab3 загружался на 1-й.
package sh.mkt;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class thirdtab extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid2");
TabSpec thiredTabSpec = tabHost.newTabSpec("tid3");
firstTabSpec.setIndicator("Buying Cost").setContent(new Intent(this,tab1.class));
secondTabSpec.setIndicator("Selling Cost").setContent(new Intent(this,tab2.class));
thiredTabSpec.setIndicator("Portfolio").setContent(new Intent(this,tab3.class));
tabHost.addTab(firstTabSpec);
tabHost.addTab(secondTabSpec);
tabHost.addTab(thiredTabSpec);
tabHost.getTabWidget().setCurrentTab(2);
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal"
android:layout_alignParentBottom="true"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp"/>
</LinearLayout>
</TabHost>
Комментарии:
1. изменено, проблема все та же
2. TabSpec firstTabSpec = TabHost.newTabSpec(«tid1»); TabSpec secondTabSpec = TabHost.newTabSpec («tid2»); TabSpec thiredTabSpec = TabHost.newTabSpec(«tid3»); это то, что вы говорите правильно?
3. да, но вы все равно можете использовать tid1 во всех … просто перейдите по ссылке, которую они привели в качестве рабочего примера … я думаю, вы могли ошибиться во всех ваших 3-х разных классах Java..
Ответ №1:
Во всех трех, которые вы установили, может быть проблема с tid1…. Вы можете сослаться на это…
по пробной причине, если вы сохранили все классы одинаковыми, чем взгляните на их XML, возможно, вы забыли изменить его setcontentview().
ИДЕАЛЬНОЕ РЕШЕНИЕ:
ПРОСТО ИСПОЛЬЗУЙТЕ:
TabHost.setCurrentTab(2);
вместо вашего (TabHost.getTabWidget().setCurrentTab(2);)
приветствую!!!!!
Комментарии:
1. я изменил это также на tid1, tid2, tid3, но все равно это то же самое. он загружает tab3, но показывает содержимое tab1
Ответ №2:
возможно, вы создаете демонстрацию, подобную этому примеру, тогда я сомневаюсь, что вы написали 3 разных файла Java для отображения на каждой вкладке. Пожалуйста, перейдите по ссылке один раз.