Pregunta

Actualmente estoy probando el Android 1.5 SDK y he visto un par de ejemplos en TabHost. Lo que estoy tratando de hacer es usar un botón diferente en cada ficha para hacer sus tareas.

Lo que intenté estaba usando onClickListiner () y onClick (). Creo que esto es lo que usan todos los desarrolladores, pero me siguen dando una excepción nula en el LogCat cada vez que se pulsa el botón. También tengo cada diseño XML de modo que llamo el Tab como: tab.add (... setContent (R.id.firstTabLayout))

firstTabLayout = layout for Button and TextView.

¿Cuál sería la mejor manera de hacer un trabajo botón / TextView apropiadamente debajo del TabHost?

¿Fue útil?

Solución

No estoy del todo seguro de dónde es su problema, pero esta es la forma en que he preparado mis actividades con pestañas antes

layout.xml

<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">

    <LinearLayout android:id="@+id/tab1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextView android:id="@android:id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>
    <LinearLayout android:id="@+id/tab2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextView android:id="@android:id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>
    <LinearLayout android:id="@+id/tab3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextView android:id="@android:id/text"
            android:layout_width="fill_parent"
                android:layout_height="wrap_content" />

    </LinearLayout>
</FrameLayout>

Tab.java

public class InitialActivity extends TabActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);

        TabHost th = getTabHost();
        th.addTab(th.newTabSpec("tab_1").setIndicator("Tab1").setContent(R.id.tab1));
        th.addTab(th.newTabSpec("tab_2").setIndicator("Tab2").setContent(R.id.tab2));
        th.addTab(th.newTabSpec("tab_3").setIndicator("Tab3").setContent(R.id.tab3));
    }
}

A continuación, sólo puede utilizar findViewById () en cualquier punto de vista dentro de las pestañas, o si no se comparten nombres entre ellos, puede hacerlo findViewById(R.id.tab1).findViewById(R.id.text)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top