Problema ao exibir o Layout TabHost no novo Intent
Estou tendo um problema ao usar o TabHost em um novo Intent do tipo TabActivity, que espero que você possa me indicar na direção certa. O engraçado é que funciona bem quando tento visualizá-lo no Intent original: setContentView (R.layout.main)
Recebo um "fechamento forçado" e, no logcat, recebo o seguinte erro, mesmo que meu Tabhost id = "@android: id / tabhost":
02-18 22: 23: 11.937: ERROR / AndroidRuntime (5944): Causado por: java.lang.RuntimeException: Seu conteúdo deve ter um TabHost cujo atributo de id é 'android.R.id.tabhost'
Eu declarei a segunda intenção no arquivo Manifest.xml: XML:
<activity android:name=".NextActivity" android:label="@string/app_name" >
Na primeira atividade (MainActivity), inicio a segunda intenção (NextActivity), com extras, da seguinte maneira:
Intent nextActivity = new Intent(MainActivity.this,NextActivity.class);
Bundle b_next=new Bundle();
b_next.putString("s_string", myString);
nextActivity.putExtras(b_next);
No meu arquivo NextActivity.java, obtenho os extras e tento exibir a exibição TabHost:
public class NextActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String myString;
Bundle b_initial;
b_initial = getIntent().getExtras();
myString = b_initial.getString("s_string");
setContentView(R.layout.main);
}
}
Eu recebo o mesmo erro ao usar o exemplo TabHost no site do desenvolvedor Android (Hellow View):
Main.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">
<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">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is a tab" />
<TextView
android:id="@+id/textview2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is another tab" />
<TextView
android:id="@+id/textview3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="this is a third tab" />
</FrameLayout>
</LinearLayout>
</TabHost>
Agradecemos antecipadamente pessoal ...
ESCLARECIMENTO: É isso que realmente recebo do LogCat:
java.lang.NullPointerException
em android.widget.TabHost.dispatchWindowFocusChanged (TabHost.java 285) em android.view.ViewGroup.dispatchWindowFocusChanged (ViewGroup.java 640) em android.view.ViewGroup.dispatchWindowFocusChanged (ViewGroup.jatch 640) em android.viewChanged (ViewGroup.java 640) em android.view.ViewRoot.handleMessage (ViewRoot.java 1645) em android.os.Handler.dispatchMessage (Handler.java 99) em android.os.Looper.loop (Looper.java 123) no android .app.ActivityThread.main (ActivityThread.java 3948) em java.lang.reflect.Method.invokeNative (método nativo)
em java.lang.reflect.Method.invoke (Method.java 521) em com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java 782) em com.android.internal.os.ZygoteInit.main (ZygoteInit .java 540) em dalvik.system.NativeStart.main (método nativo)