Hi, all
I encountered an excepiton when I used TabActivity. Each tab content
is a seperate activity.
Could anyone give me a hand ?Thanks :-)
The exception stack trace is as follow:
-------------------------------------------------------------------------------------------------------------
Thread [<3> main] (Suspended (exception NullPointerException))
TabHost.dispatchWindowFocusChanged(boolean) line: 295
FrameLayout(ViewGroup).dispatchWindowFocusChanged(boolean) line: 661
LinearLayout(ViewGroup).dispatchWindowFocusChanged(boolean) line:
661
PhoneWindow$DecorView(ViewGroup).dispatchWindowFocusChanged(boolean)
line: 661
ViewRoot.handleMessage(Message) line: 1819
ViewRoot(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4363
Method.invokeNative(Object, Object[], Class, Class[], Class, int,
boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 860
ZygoteInit.main(String[]) line: 618
NativeStart.main(String[]) line: not available [native method]
-------------------------------------------------------------------------------------------------------------
layout/main.xml
-------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<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="wrap_content"
android:paddingTop="64dip">
</FrameLayout>
</TabHost>
-------------------------------------------------------------------------------------------------------------
strings.xml
------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloTabActivity!</string>
<string name="app_name">HelloTabWidget</string>
<string name="song">song</string>
<string name="album">album</string>
<string name="acc">acc</string>
</resources>
-----------------------------------------------------------------------------------------------------------
classes are placed into com.qiu.test package.
HelloTabActivity.java
------------------------------------------------------------------------------------------------------------------
package com.qiu.test;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.ScrollView;
import android.widget.TabHost;
public class HelloTabActivity extends TabActivity {
protected TabHost tabs;
protected void OnCreate (Bundle bundle)
{
super.onCreate (bundle);
setContentView(R.layout.main);
tabs = getTabHost();
Resources res = getResources();
TabHost.TabSpec syncTabSpec = tabs.newTabSpec("sync");
syncTabSpec.setContent (new Intent (this,
SongActivity.class));
syncTabSpec.setIndicator("sync");
tabs.addTab(syncTabSpec);
TabHost.TabSpec accTabSpec = tabs.newTabSpec("acc");
accTabSpec.setContent (new Intent (this,
AlbumsActivity.class));
accTabSpec.setIndicator("acc");
tabs.addTab(accTabSpec);
tabs.setCurrentTab(0);
}
}
------------------------------------------------------------------------------------------------------------------
SongActivity.java
------------------------------------------------------------------------------------------------------------------
package com.qiu.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class SongActivity extends Activity {
public void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
TextView textview = new TextView (this);
textview.setText("This is the song tab");
setContentView (textview);
}
}
----------------------------------------------------------------------------------------------------------------
AlbumsActivity.java
----------------------------------------------------------------------------------------------------------
package com.qiu.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class AlbumsActivity extends Activity {
public void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
TextView textview = new TextView (this);
textview.setText("This is the albumns tab");
setContentView (textview);
}
}
-----------------------------------------------------------------------------------------------------------------
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en