0

それぞれ別の Web ページを開く 3 つのタブが必要です。私のコードでは、タブホストと 3 つの個別のアクティビティを使用しています。アプリは最初は機能しますが、2 回目の試行で Web ページを開くことができません。どうすればこれを修正できますか?

MyTabActivity.java

public class MyTabActivity extends TabActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TabHost tabHost = getTabHost();

    tabHost.addTab(tabHost
            .newTabSpec("tab1")
            .setIndicator("Tab1",
                    getResources().getDrawable(R.drawable.home))
            .setContent(new Intent(this, Tab1Activity.class)));

    tabHost.addTab(tabHost
            .newTabSpec("tab2")
            .setIndicator("Tab2",
                    getResources().getDrawable(R.drawable.invoice))
            .setContent(new Intent(this, Tab2Activity.class)));

    tabHost.addTab(tabHost
            .newTabSpec("tab3")
            .setIndicator("Tab3",
                    getResources().getDrawable(R.drawable.products))
            .setContent(new Intent(this, Tab3Activity.class)));
    tabHost.setCurrentTab(0);
    }
 }

Tab1Activity.java

 public class Tab1Activity extends Activity {
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Uri uri = Uri.parse( "http://www.yahoo.com" );
    startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
  }
}
4

2 に答える 2

1

すべてのアクティビティが分離されているため、TabActivity を使用してそれを達成することもできます。

を使用してTabHostでインテントを開始します

intent= new Intent().setClass(this, yourFirstactivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2013-01-30T06:55:24.877 に答える
0

TabActivity は API レベル 13 で廃止されました。あなたがしようとしていることを達成するためのより現代的な方法は、ActionBar ナビゲーション タブを使用することです。Web ページ タブごとにWebViewFragmentを使用します。

于 2013-01-30T06:09:42.203 に答える