为什么创建一个 TabHost 就是不成功……

moliliang 2011-05-24 08:04:56

public class MainActivity extends TabActivity {

TabHost m_tabHost = null;

@Override
public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);
setContentView(R.layout.tabs);

m_tabHost = getTabHost();

Intent intent = null;
TabHost.TabSpec spec = null;

intent = new Intent(this, DoMove.class);
spec = m_tabHost.newTabSpec(Doing.DO_MOVE);
spec.setIndicator("123123");
spec.setContent(intent);
m_tabHost.addTab(spec); //一执行到这里就报错。。。

m_tabHost.addTab(m_tabHost.newTabSpec(Doing.DO_KEY)
.setIndicator("123123")
.setContent(new Intent(MainActivity.this, DoKey.class)));

m_tabHost.addTab(m_tabHost.newTabSpec(Doing.DO_MEDIA)
.setIndicator("123123")
.setContent(new Intent(MainActivity.this, DoMedia.class)));

m_tabHost.addTab(m_tabHost.newTabSpec(Doing.DO_WEB)
.setIndicator("123123")
.setContent(new Intent(MainActivity.this, DoWeb.class)));

}
}


这个描述文件 tabs.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<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:gravity="center">

<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
/>
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="1dip"
android:paddingRight="1dip"
android:paddingTop="4dip"
/>

</LinearLayout>
</TabHost>
</LinearLayout>


AndroidManifest.xml 文件。。。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.moli.stream"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DoMove"></activity>
<activity android:name=".DoKey"></activity>
<activity android:name=".DoWeb"></activity>
<activity android:name=".DoMedia"></activity>

</application>
</manifest>



为什么呢。。。跟 ApiDemos 里面的都一样的……为什么呢。。。就是异常。。。
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
easycoola 2011-05-25
  • 打赏
  • 举报
回复
小问题。。。
changy 2011-05-25
  • 打赏
  • 举报
回复
恩,就是构建时出了问题
moliliang 2011-05-24
  • 打赏
  • 举报
回复
<activity android:name=".DoMove"></activity>
<activity android:name="com.moli.doing.DoMove"></activity>


。。。找到了。。是因为这个。。如果是第一个 .DoMove 就不行。。因为包在不同的地方。。。
moliliang 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 changy 的回复:]

可能是DoMove的构造或onCreate方法里有bug
具体要看log
[/Quote]


public class DoMove extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

// TextView textview = new TextView(this);
// textview.setText("This is the Artists tab");
// setContentView(textview);
}
}


有问题嘛?
changy 2011-05-24
  • 打赏
  • 举报
回复
可能是DoMove的构造或onCreate方法里有bug
具体要看log
wuzhi11love 2011-05-24
  • 打赏
  • 举报
回复
提示什么错误啊?是空指针吗,把LogCat里的提示让大家看看
moliliang 2011-05-24
  • 打赏
  • 举报
回复
创建一个 Tabs 就这么郁闷啊。。。。。。tab 里面装个 activitie 。。就是不成功……

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧