0
试图以编程的方式创建一个基于视图的tabhost,但我从下面粘贴的猿得到一个fc。 我可以用findbyid找到视图。 我错过了什么?谢谢。当试图添加一个视图到setId的tabhost ids
public class tabs_view extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost th=new TabHost(this);
Button b=new Button(this);
b.setId(1001);
b.setText("1");
th.addView(b);
TabHost.TabSpec ts=th.newTabSpec("1");
ts.setIndicator("1");
ts.setContent(1001); //nullpointer exception originates here (line 27)
th.addTab(ts);
setContentView(th);
/*
RuntimeException: Unable to start activity ComponentInfo{...}: java.lang.NullPointerException
E/AndroidRuntime(11234): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
...
E/AndroidRuntime(11234): Caused by: java.lang.NullPointerException
E/AndroidRuntime(11234): at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:583)
E/AndroidRuntime(11234): at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:578)
E/AndroidRuntime(11234): at android.widget.TabHost$TabSpec.setContent(TabHost.java:435)
E/AndroidRuntime(11234): tabs_view.onCreate(tabs_view.java:27)
*/
}
}
我试图用一个tabactivity:同一NPE。 – rnq
感谢您的回答。我尝试使用Tabactivity:相同的NPE。从布局文件和R使用ID可能是一个后备选项,但我更喜欢使这种方法工作,因为应用中的选项卡布局必须在运行时更改。 – rnq