Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TabHost活动不工作_Android_Android Tabhost - Fatal编程技术网

Android TabHost活动不工作

Android TabHost活动不工作,android,android-tabhost,Android,Android Tabhost,我正在我的android应用程序中实现TabHost。将有3个标签。单击每个选项卡,我想进入不同的活动。但当我点击标签时,它突然停止工作。所以可能有一些错误。我不明白是什么错误 下面是java文件 public class ToDoListActivity extends AppCompatActivity { TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.o

我正在我的android应用程序中实现TabHost。将有3个标签。单击每个选项卡,我想进入不同的活动。但当我点击标签时,它突然停止工作。所以可能有一些错误。我不明白是什么错误

下面是java文件

public class ToDoListActivity extends AppCompatActivity {


TabHost tabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_todo);

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

    //Tab 1
    TabHost.TabSpec tab1 = host.newTabSpec("Tab One");
    TabHost.TabSpec tab2 = host.newTabSpec("Tab Two");
    TabHost.TabSpec tab3 = host.newTabSpec("Tab Three");

    tab1.setContent(new Intent(this,Tab1Activity.class));
    //tab1.setContent(R.id.tab1);
    tab1.setIndicator("Tab One");
    host.addTab(tab1);



    //Tab 2
    tab2.setContent(new Intent(this,Tab2Activity.class));
    //tab2.setContent(R.id.tab2);
    tab2.setIndicator("Tab Two");
    host.addTab(tab2);


    //Tab 3
    tab3.setContent(new Intent(this,Tab3Activity.class));
    //tab3.setContent(R.id.tab3);
    tab3.setIndicator("Tab Three");
    host.addTab(tab3);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}
下面是它对应的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.emma.kidbox2.ToDoListActivity">

<TabHost
    android:id="@+id/tabHost"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

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

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

            </LinearLayout>

            <LinearLayout
                android:id="@+id/tab3"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

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


按如下方式更新您的代码:

public class ToDoListActivity extends AppCompatActivity {

TabHost tabHost;
LocalActivityManager mlam;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_todo);

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

    mlam= new LocalActivityManager(this, false);
    mlam.dispatchCreate(savedInstanceState);
    host.setup(mlam);

    //Tab 1
    TabHost.TabSpec tab1 = host.newTabSpec("Tab One");
    TabHost.TabSpec tab2 = host.newTabSpec("Tab Two");
    TabHost.TabSpec tab3 = host.newTabSpec("Tab Three");

    tab1.setContent(new Intent(this,Tab1Activity.class));
    //tab1.setContent(R.id.tab1);
    tab1.setIndicator("Tab One");
    host.addTab(tab1);



    //Tab 2
    tab2.setContent(new Intent(this,Tab1Activity.class));
    //tab2.setContent(R.id.tab2);
    tab2.setIndicator("Tab Two");
    host.addTab(tab2);


    //Tab 3
    tab3.setContent(new Intent(this,Tab1Activity.class));
    //tab3.setContent(R.id.tab3);
    tab3.setIndicator("Tab Three");
    host.addTab(tab3);

}
@Override
protected void onResume(){
    super.onResume();
    mlam.dispatchResume();
}

@Override
protected void onPause(){
    super.onPause();
    mlam.dispatchPause(isFinishing());
}

}

按以下方式更新您的代码:

public class ToDoListActivity extends AppCompatActivity {

TabHost tabHost;
LocalActivityManager mlam;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_todo);

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

    mlam= new LocalActivityManager(this, false);
    mlam.dispatchCreate(savedInstanceState);
    host.setup(mlam);

    //Tab 1
    TabHost.TabSpec tab1 = host.newTabSpec("Tab One");
    TabHost.TabSpec tab2 = host.newTabSpec("Tab Two");
    TabHost.TabSpec tab3 = host.newTabSpec("Tab Three");

    tab1.setContent(new Intent(this,Tab1Activity.class));
    //tab1.setContent(R.id.tab1);
    tab1.setIndicator("Tab One");
    host.addTab(tab1);



    //Tab 2
    tab2.setContent(new Intent(this,Tab1Activity.class));
    //tab2.setContent(R.id.tab2);
    tab2.setIndicator("Tab Two");
    host.addTab(tab2);


    //Tab 3
    tab3.setContent(new Intent(this,Tab1Activity.class));
    //tab3.setContent(R.id.tab3);
    tab3.setIndicator("Tab Three");
    host.addTab(tab3);

}
@Override
protected void onResume(){
    super.onResume();
    mlam.dispatchResume();
}

@Override
protected void onPause(){
    super.onPause();
    mlam.dispatchPause(isFinishing());
}

}

请在host.addTab(tab1)中发布错误登录显示错误;此行请发布错误登录,在host.addTab(tab1)中显示错误;此问题尚未解决。在主机设置(mlam)中获取错误;这line@Israt您能告诉我您遇到了什么错误,但没有解决?是否添加了LocalActivityManager mlam;NullPointerExceptionsetContentView已存在(R.layout.content\u todo)。为什么我要编辑这个?@Israt上面的代码对我有效,所以请尝试复制粘贴上面的代码。并告诉我错误未解决。在主机设置(mlam)中获取错误;这line@Israt您能告诉我您遇到了什么错误,但没有解决?是否添加了LocalActivityManager mlam;NullPointerExceptionsetContentView已存在(R.layout.content\u todo)。为什么我要编辑这个?@Israt上面的代码对我有效,所以请尝试复制粘贴上面的代码。并告诉我错误