我想使用tabhost制作选项卡式应用程序。所以问题是** onclick **添加到一个按钮,即通过标签内容使用createtab内容方法布局中的布局膨胀,不起作用。应用程序崩溃时单击该按钮。请看看我使用的代码。 这只方法i具有创建添加标签,该选项卡的内容动态如何从创建标签页内容添加按钮onclick
public void addtab(View v)
{
tabno++;
tabname = String.valueOf(tabno);
tabnum++;
TabHost mTabHost = (TabHost) findViewById(R.id.tabHost);
mTabHost.setup();
//Lets add the first Tab
TabHost.TabSpec Spec = mTabHost.newTabSpec("tab");
// Spec.setContent(R.id.layoutone);
Spec.setContent(new TabHost.TabContentFactory() {
@Override
public View createTabContent(String tag) {
final LinearLayout layoutone = new LinearLayout(browser.this);
layoutone.setId(R.id.layoutone);
layoutone.setOrientation(LinearLayout.VERTICAL);
View adrressvar =getLayoutInflater().inflate(R.layout.xcc,layoutone,false);
search2=(Button) adrressvar.findViewById(R.id.search2);
urltwo=(EditText) adrressvar.findViewById(R.id.urlbar2);
search2.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
wb.loadUrl(keyword+urltwo.getText().toString());
}
});
LinearLayout.LayoutParams wbprm= new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
wb= new WebView(browser.this);
wb.setWebViewClient(new WebViewClient());
wb.loadUrl(ty);
wb.setId(R.id.wbdy);
layoutone.addView(adrressvar);
layoutone.addView(wb,wbprm);
return layoutone;
}
});
Spec.setIndicator("TAB" + tabname);
mTabHost.addTab(Spec);
mTabHost.setCurrentTab(tabnum);
}
logcat的错误 04-04 14:21:23.722 14715-14715/com.example.lenovo1.tabhostbrowser E/AndroidRuntime:致命例外:main 进程:com.example.lenovo1.tabhostbrowser,PID:14715 java.lang.IllegalStateException:指定的子项已具有父项。您必须先调用子对象的父对象的removeView()。 在android.view.ViewGroup.addViewInner(ViewGroup.java:4417) 在android.view.ViewGroup.addView(ViewGroup.java:4258) 在android.view.ViewGroup.addView(ViewGroup.java:4198) 在android.view.View.Group.addView(ViewGroup.java:4171) at com.example.lenovo1.tabhostbrowser.browser $ 1 $ 1.onClick(browser.java:114) at android.view.View.performClick(View.java: 5637) 在android.view.View $ PerformClick.run(View.java:22429) 在android.os.Handler.handleCallback(Handler.java:751) 在android.os.Handler.dispatchMessage(Handler.java: 95 ) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
因此,该应用程序在LogCat中没有任何错误崩溃?请在您的问题中发布错误代码。 –