在Android中更改活动 - 在Tab中列出

时间:2011-05-22 21:01:31

标签: android list android-activity tabs switch-statement

嘿那里,我一直在寻找堆栈溢出来解决同样的问题,但我似乎无法使它工作,我拼命地希望有人可以提供帮助!

我有三个标签,每个标签都有自己的活动。在第一个选项卡中,我在选项卡中实现了一个列表,它有一些显示没有问题的值。其他两个选项卡具有表格布局。

这是问题所在: 我需要在点击任何列表项时切换到第二个标签。

我该怎么做?我在互联网上阅读了几个关于注册意图的页面,但似乎无法使用tabHost实现listView。

以下代码!

非常感谢。

公共类AlertsActivity扩展TabActivity实现OnTabChangeListener,OnClickListener {     private static final String LIST1_TAB_TAG =“已保存的警报”;      private ListView listView1;     私人TabHost tabHost;

@Override 
public boolean onCreateOptionsMenu(Menu menu)
{
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case R.id.settings:
        startActivity(new Intent(this, Prefs.class));
        return true;
    }
return false;
}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab1);

    tabHost = getTabHost();
    tabHost.setOnTabChangedListener(this);

    listView1 = (ListView) findViewById(R.id.list);

     List<String> listStrings1 = new ArrayList<String>();
    listStrings1.add("Item 1");
    listStrings1.add("Item 2");
    listStrings1.add("Item 3");
    listStrings1.add("Item 4");
    listStrings1.add("Item 5");
    listStrings1.add("Item 6");
    listStrings1.add("Item 7");
    listStrings1.add("Item 8");
    listStrings1.add("Item 9");
    listStrings1.add("Item 10");

    listView1.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, listStrings1));

    tabHost.addTab(tabHost.newTabSpec(LIST1_TAB_TAG).setIndicator(LIST1_TAB_TAG).setContent(new TabContentFactory() {
        public View createTabContent(String arg0) {
         return listView1;
        }
    }));

}

public void onTabChanged(String tabName) {
    if(tabName.equals(LIST1_TAB_TAG)) {

    }
}

public void onClick(View src) {

}

}

1 个答案:

答案 0 :(得分:1)

在你的听众中,(在你的TabActivity中)只需:

getTabHost().setCurrentTab(index);

TabHost documentation用于setCurrentTab(int)

对于getTabHost()

TabActivity documentation