tabhostを使用してタブ付きアプリケーションを作成しようとしています。ボタン**に追加された** onclick **はタブコンテンツのレイアウトを使って膨らんだクリエタタブコンテンツメソッドを使用していません。ボタンをクリックするとアプリケーションがクラッシュします。 PLZは私が使用したコードを見てください。 この唯一の方法私は、タブとタブのコンテンツを追加するために作成する必要があり、動的にボタンの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);
}
04-04 14 logcatエラー:21:23.722 14715から14715/com.example.lenovo1.tabhostbrowser E/AndroidRuntime:重大な例外:メイン プロセス:com.example.lenovo1.tabhostbrowser、PID:14715 java.lang.IllegalStateException:指定された子にはすでに親があります。子の親で最初にremoveView()を呼び出す必要があります。 android.view.ViewGroup.addView(ViewGroup.java:4417)の とandroid.view.ViewGroup.addView(ViewGroup.java:4258)の とandroid.view.ViewGroup.addViewの の のandroid.view.ViewGroup.addView(ViewGroup.java:4171) com.example.lenovo1.tabhostbrowser.browser $ 1 $ 1.onClick(browser.java:114) android.view.View.performClick(View.java: (Handler.java:751) (android.os.Handler.dispatchMessage(Handler.java:22429)) (Handler.java:751) (Handler.java:22429) のアンドロイド。ビュー。ビュー$ PerformClick.run 95 )android.os.Looper.loop(Looper.java:154)の (android.app.ActivityThread.main(ActivityThread.java:6119) 、java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit.mainでcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) (ZygoteInit.java:776)
LogCatでアプリがクラッシュしてもエラーは発生しませんか?あなたの質問にもエラーコードを投稿してください。 –