【问题标题】:no tab selected by default默认不选择选项卡
【发布时间】:2011-02-15 20:39:32
【问题描述】:

代码如下,问题是我无法从代码中删除“主”选项卡,因为它只是关闭了应用程序,这是因为一旦主选项卡被删除,它会选择“调用”选项卡默认活动。 . 但是我希望将主视图作为主要活动,并且仅当用户单击它们时,呼叫或电子邮件或网络选项卡才起作用

Java 代码

package com.NVT.android;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class MainTabActivity extends TabActivity{

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.tab_activity_layout);

            Resources res = getResources(); // Resource object to get Drawables
            TabHost tabHost = getTabHost();  // The activity TabHost
            TabHost.TabSpec spec;  // Resusable TabSpec for each tab
            Intent intent;  // Reusable Intent for each tab

            // Create an Intent to launch an Activity for the tab (to be reused)
            intent = new Intent().setClass(this, Main.class);

            // Initialize a TabSpec for each tab and add it to the TabHost
            spec = tabHost.newTabSpec("main").setIndicator("Main",
                              res.getDrawable(R.drawable.ic_tab_artists_grey))
                          .setContent(intent);
            tabHost.addTab(spec);

            TabHost host=getTabHost();

            host.addTab(host.newTabSpec("one")
                    .setIndicator("Call")
                    .setContent(new Intent(this, CallService.class)));

            host.addTab(host.newTabSpec("two")
                    .setIndicator("Email")
                    .setContent(new Intent(this, EmailService.class)));

            host.addTab(host.newTabSpec("three")
                    .setIndicator("Web")
                    .setContent(new Intent(this, WebService.class)));

        }

    }

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"
        android:padding="5dp">
    <RelativeLayout
    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"
            android:layout_alignParentBottom="true"
             />
                  <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp"></FrameLayout>

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

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.NVT.android"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">

            <activity android:name=".Main"
                  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=".MainTabActivity"
                  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=".Courses">
        </activity>
        <activity android:name=".CampusMap">
        </activity>
        <activity android:name=".GettingHere">
        </activity>
        <activity android:name=".ILoveNescot">
        </activity>


        <activity android:name=".FurtherEducationCourses">
        </activity>
        <activity android:name=".HigherEducationCourses">
        </activity>
        <activity android:name=".EmployersTrainingCourses">
        </activity>
        <activity android:name=".WebService">
        </activity>
        <activity android:name=".CallService">
        </activity>
        <activity android:name=".EmailService">
        </activity>








    </application>
    <uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
</manifest> 

【问题讨论】:

  • 请发布您的清单文件!
  • 我刚刚在它那里编辑了它
  • 请告诉我们您如何尝试删除主标签
  • 通过删除 (intent = new Intent().setClass(this, Main.class); // 为每个选项卡初始化一个 TabSpec 并将其添加到 TabHost spec = tabHost.newTabSpec("main" ).setIndicator("Main", res.getDrawable(R.drawable.ic_tab_artists_grey)) .setContent(intent); tabHost.addTab(spec);) 一行一行,我也通过注释来尝试它
  • 如果我更改 Manifest 文件中的 Intent Filter,它不会加载选项卡活动,据我所知,我之前在另一个项目中尝试过它没有工作。 ..

标签: android android-tabhost


【解决方案1】:

【讨论】:

  • 我不认为这就是我要找的东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-21
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
相关资源
最近更新 更多