0

我正在使用此代码

package com.example.prufa;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
        tabHost.setup();

        TabSpec spec1=tabHost.newTabSpec("Sími");
        spec1.setContent(R.id.Sími);
        spec1.setIndicator("Sími");

        TabSpec spec2=tabHost.newTabSpec("Sms");
        spec2.setIndicator("Sms");
        spec2.setContent(R.id.Sms);

        TabSpec spec3=tabHost.newTabSpec("Net");
        spec3.setIndicator("Net");
        spec3.setContent(R.id.Net);

        TabSpec spec4=tabHost.newTabSpec("Greina");
        spec4.setIndicator("Greina");
        spec4.setContent(R.id.Greina);

        tabHost.addTab(spec1);
        tabHost.addTab(spec2);
        tabHost.addTab(spec3);
        tabHost.addTab(spec4);


    }

使用这个 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="wrap_content" >


    <TabWidget
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@android:id/tabs"
    />

        <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/bScan"
        android:layout_below="@+android:id/tabs" >


        <include
            android:id="@+id/Sími"
            layout="@layout/activity_simi" />

        <include
            android:id="@+id/Sms"
            layout="@layout/activity_sms" />


        <include
            android:id="@+id/Net"
            layout="@layout/activity_net" />

        <include
            android:id="@+id/Greina"
            layout="@layout/activity_greina" />

     <LinearLayout
         android:id="@+id/Sími"
         android:layout_width="fill_parent"
         android:layout_height="340dp"
         android:orientation="vertical"
         android:paddingTop="60px" >
     </LinearLayout>

     <LinearLayout
     android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Sms"
    android:orientation="vertical"
    android:paddingTop="60px"
     >

     </LinearLayout>

      <LinearLayout
     android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Net"
    android:orientation="vertical"
    android:paddingTop="60px"
     >

     </LinearLayout>

     <LinearLayout
     android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Greina"
    android:orientation="vertical"
    android:paddingTop="60px"
     >


     </LinearLayout>
     </FrameLayout>

    </TabHost>

我在主要活动中有 4 个选项卡,我正在使用包含,因此我可以创建 4 个其他活动并使用这些活动中的每个选项卡。我必须在 Mainactivity 文件中做一些事情,这样我才能做到这一点。但我不知道我该怎么做。我正在尝试将控件从 Mainactivity 移动到我正在处理选项卡的其他活动。我现在可以为每个选项卡使用 xml 文件,但我无法使用该活动。

4

1 回答 1

2

如果我明白你想做什么,你必须使用包含,也许应该工作。

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabHost"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

    <TabWidget
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@android:id/tabs"/>

    <FrameLayout
    android:id="@android:id/tabcontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/bScan"
    android:layout_below="@+android:id/tabs" >

        <include
            android:id="@+id/Sími"
            layout="@layout/activity_simi" />

        <include
            android:id="@+id/Sms"
            layout="@layout/activity_sms" />

        <include
           android:id="@+id/Net"
           layout="@layout/activity_net" />

       <include
           android:id="@+id/Greina"
           layout="@layout/activity_greina" />

   </FrameLayout>

</TabHost>

但是,您是否尝试使用 Fragments 代替活动?从本质上讲,片段是一段 ui 代码,其行为类似于活动。我认为这是最适合您的代码。查看开发者页面:

http://developer.android.com/guide/components/fragments.html

希望我有所帮助。

于 2013-06-02T00:36:01.403 回答