使用制表符和意图打开网页会失败?

时间:2013-01-30 05:54:32

标签: android android-layout android-widget

我需要三个标签,每个标签会打开一个不同的网页。 我的代码使用tabhost和三个单独的活动。 该应用程序第一次运行,但网页无法打开 在第二次审判。我该如何解决这个问题?

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 ) );
  }
}

2 个答案:

答案 0 :(得分:1)

由于您拥有所有已分离的活动,您也可以使用TabActivity实现它。

使用

在TabHost中启动意图
intent= new Intent().setClass(this, yourFirstactivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

答案 1 :(得分:0)

TabActivity已在API级别13中弃用。实现您尝试执行的操作的更现代的方法是使用ActionBar navigation tabs。为每个网页标签使用WebViewFragment