让选项卡 (Tabhost) 正常工作

发布于 2024-10-02 11:23:17 字数 2632 浏览 0 评论 0原文

我正在尝试将单页应用程序变成带有选项卡的应用程序。我已经查看了各种 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

十年不长 2024-10-09 11:23:17

嘿马丁,
确保您遵循本指南:
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.

画离情绘悲伤 2024-10-09 11:23:17

是的,我已经看过了,但认为它有点复杂。现在完成该项目后,我意识到事情就是这样!

但是,该项目将编译并安装,但不会运行。

在真实手机上,“打开”在安装后被禁用,并且该应用程序不会出现在应用程序列表中。

在模拟器上,:

[2010-11-12 11:49:49 - HelloTabWidget]启动时只会同步设备上的应用程序包!

[2010-11-12 11:55:46 - HelloTabWidget] 成功!

[2010-11-12 11:55:46 - HelloTabWidget] \HelloTabWidget\bin\HelloTabWidget.apk 安装在设备上

[2010-11-12 11:55:46 - HelloTabWidget] 完成!

显现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="martin.HelloTabWidget"
          android:versionCode="1"
          android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
       <activity android:name=".HelloTabWidget" android:label="@string/app_name"
                 android:theme="@android:style/Theme.NoTitleBar"></activity>
       <activity android:name=".ArtistsActivity" android:label="ArtistsActivity"> </activity>   
       <activity android:name=".AlbumsActivity" android:label="AlbumsActivity"></activity>
       <activity android:name=".SongsActivity" android:label="SongsActivity"></activity>  
    </application>
    <uses-sdk android:minSdkVersion="7" />
</manifest>

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, :

[2010-11-12 11:49:49 - HelloTabWidget] The launch will only sync the application package on the device!

[2010-11-12 11:55:46 - HelloTabWidget] Success!

[2010-11-12 11:55:46 - HelloTabWidget] \HelloTabWidget\bin\HelloTabWidget.apk installed on device

[2010-11-12 11:55:46 - HelloTabWidget] Done!

Manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="martin.HelloTabWidget"
          android:versionCode="1"
          android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
       <activity android:name=".HelloTabWidget" android:label="@string/app_name"
                 android:theme="@android:style/Theme.NoTitleBar"></activity>
       <activity android:name=".ArtistsActivity" android:label="ArtistsActivity"> </activity>   
       <activity android:name=".AlbumsActivity" android:label="AlbumsActivity"></activity>
       <activity android:name=".SongsActivity" android:label="SongsActivity"></activity>  
    </application>
    <uses-sdk android:minSdkVersion="7" />
</manifest>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文