Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup()' on a null object reference
at com.example.ceshi.MainActivity.onCreate(MainActivity.java:31)
没有解决
MainActivity:
package com.example.ceshi;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.SeekBar;
import android.widget.SimpleAdapter;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.ViewSwitcher;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabHost t = (TabHost) findViewById(android.R.id.tabhost);
t.setup();
LayoutInflater i = LayoutInflater.from(this);
i.inflate(R.layout.tab1,t.getTabContentView());
i.inflate(R.layout.tab2,t.getTabContentView());
t.addTab(t.newTabSpec("tab1").setIndicator("竞选表情").setContent(R.id.left));
t.addTab(t.newTabSpec("tab2").setIndicator("爱你").setContent(R.id.right));
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:id="@+id/tabhost">
<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">
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
本文探讨了一个关于Android开发中TabHost组件出现NullPointerException的问题。错误发生在尝试调用null对象引用的setup()方法,通过分析MainActivity源代码及布局文件,指出了解决这一问题的方法,涉及TabHost的正确初始化和使用。

被折叠的 条评论
为什么被折叠?



