2011-05-22 51 views
1

嘿,那里,我一直在寻找堆栈溢出的同一个问题,但我似乎无法使它的工作,我迫切希望有人可以帮助!在Android中更改活动 - 列表内标签

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

这是问题: 我需要切换到第二个选项卡,当任何列表项被点击。

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

下面的代码!

非常感谢。

public class AlertsActivity extends TabActivity implements OnTabChangeListener,OnClickListener {static static final String LIST1_TAB_TAG =“Saved Alerts”; 私人ListView listView1; private 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) { 

} 

}

回答