让选项卡 (Tabhost) 正常工作
我正在尝试将单页应用程序变成带有选项卡的应用程序。我已经查看了各种 Google 解决方案,但没有一个有效,而且我在任何地方都找不到“选项卡 - 它们如何工作”!使用“Googled”答案时遇到的一个问题是 main.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">
<LinearLayout android:id="@+id/LinearLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/edtICAO" android:text=" "></EditText>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Brief!" android:id="@+id/btnBrief" android:onClick="btnBriefClick"></Button>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnHome" android:text="Home" android:clickable="true" android:onClick="btnHomeClick"></Button><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnChartList" android:text="Charts List" android:onClick="btnChartClick"></Button></LinearLayout><ScrollView android:id="@+id/ScrollView02" android:layout_width="wrap_content" android:layout_height="wrap_content"><LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Metar :" android:id="@+id/txtMetar"></TextView><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TAF :" android:id="@+id/txtTAF"></TextView></LinearLayout></ScrollView><ScrollView android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:fillViewport="true" android:isScrollContainer="false" android:scrollbarAlwaysDrawHorizontalTrack="true" android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbars="horizontal|vertical" android:visibility="visible" android:layout_height="fill_parent">
<TextView android:id="@+id/txtNotam" android:text="NOTAM :" android:layout_height="fill_parent" android:layout_width="fill_parent" android:textColor="@color/black" android:background="@color/white"></TextView>
</ScrollView>
</LinearLayout>
I'm trying to turn a single page app into one with tabs. I've looked at various Googled solutions, but none work, and I can't find a 'Tabs - how they work' anywhere! One problem I have when using a 'Googled' answer is a null pointer exception on the Layout of main.xml.
Can anyone help/point me to a decent page?
My code is below.
Thanks,
Martin.
<?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">
<LinearLayout android:id="@+id/LinearLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/edtICAO" android:text=" "></EditText>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Brief!" android:id="@+id/btnBrief" android:onClick="btnBriefClick"></Button>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnHome" android:text="Home" android:clickable="true" android:onClick="btnHomeClick"></Button><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnChartList" android:text="Charts List" android:onClick="btnChartClick"></Button></LinearLayout><ScrollView android:id="@+id/ScrollView02" android:layout_width="wrap_content" android:layout_height="wrap_content"><LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Metar :" android:id="@+id/txtMetar"></TextView><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TAF :" android:id="@+id/txtTAF"></TextView></LinearLayout></ScrollView><ScrollView android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:fillViewport="true" android:isScrollContainer="false" android:scrollbarAlwaysDrawHorizontalTrack="true" android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbars="horizontal|vertical" android:visibility="visible" android:layout_height="fill_parent">
<TextView android:id="@+id/txtNotam" android:text="NOTAM :" android:layout_height="fill_parent" android:layout_width="fill_parent" android:textColor="@color/black" android:background="@color/white"></TextView>
</ScrollView>
</LinearLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
嘿马丁,
确保您遵循本指南:
http://developer.android.com/resources/tutorials/views/hello -tabwidget.html
但是,该教程并不完整。完成所有步骤后,打开 AndroidManifest.xml 文件并添加以下内容:
对于每个选项卡(插入适当的类名而不是 TabName)。我假设您将为每个选项卡创建一个单独的类,就像教程中一样。
Hey martin,
make sure you follow this guide:
http://developer.android.com/resources/tutorials/views/hello-tabwidget.html
The tutorial is not complete, however. After completing all the steps, open you AndroidManifest.xml file and add the following:
<activity android:name=".TabName"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
</activity>
for every tab (insert appropriate class name instead of TabName). I'm assuming that you will create a separate class for each tab, just like in the tutorial.
是的,我已经看过了,但认为它有点复杂。现在完成该项目后,我意识到事情就是这样!
但是,该项目将编译并安装,但不会运行。
在真实手机上,“打开”在安装后被禁用,并且该应用程序不会出现在应用程序列表中。
在模拟器上,:
显现:
Yes, I had looked at that, but thought it was a bit complex. Having now done the project I realise that's the way it is!!
However, the project will compile and install, but won't run.
On a real phone 'Open' is disabled after installation and the app doesn't appear in the apps list.
On the emulator, :
Manifest: