2012-09-06 41 views
0

我有tabview和4個選項卡,我使用TabHost來顯示選項卡我的應用程序。 被另一個類填充每個選項卡從ListActivity延伸,這裏是代碼在tabview中從ListActivity啓動新的ListActivity

public class TabbedActivity extends TabActivity { 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tab_layout); 

    TabHost tabHost = getTabHost(); 

    // Tab for Catalog 
    TabSpec catalogspec = tabHost.newTabSpec("Catalog"); 
    catalogspec.setIndicator("Complete Catalog Fall 2012", getResources().getDrawable(R.drawable.ic_catalog)); 
    Intent catalogIntent = new Intent(this, Category.class); 
    catalogspec.setContent(catalogIntent); 
// Adding all TabSpec to TabHost 
    tabHost.addTab(catalogspec); // Adding catalog tab 
} 

,這在其他意圖

public class Category extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list_of_data); 
Categories = new ArrayList<String>(); 
    fillListCategories(); 

    myListItems = new ArrayList<String>(); 
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories); 
     this.setListAdapter(adapter); 
}} 

代碼在列表視圖有產品清單,,我的觀點是如何設置Onclick在同一Tab中打開另一個「ListActivity」?

+0

你試過在onClick上膨脹一個視圖嗎? – fasheikh

+0

沒有,,其實我是如此新鮮的機器人,只有3周,,你可以提高我的更多細節?,,我想保持選項卡可見 –

+0

見下面答案:) – fasheikh

回答

1

在您的範疇類,添加一個onClickListener像這樣:

public class Category extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState); 
setContentView(R.layout.list_of_data); 
Categories = new ArrayList<String>(); 
fillListCategories(); 

myListItems = new ArrayList<String>(); 
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories); 
    this.setListAdapter(adapter); 
    this.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View item, 
          int position, long id) { 
    mSelectedCategory = (String)parent.getItemAtPosition(position); 

    Intent intent = new Intent(getBaseContext(), ScreenTwo.class); 
      intent.putExtra("name", mSelectedCategory.(WHATEVER INFO YOU NEED ABOUT THE CATEGORY); 
      startActivity(intent); 
    } 
}); 
}} 

ScreenTwo.java會是什麼樣子與ListAdapter範疇類,但與通過意圖傳遞的信息:

public class ScreenTwo extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState); 
setContentView(R.layout.list_of_data); 
Bundle b = getIntent().getExtras(); 
    String Name = b.getString("name"); 
Categories = new ArrayList<String>(); 
fillListCategories(); 

myListItems = new ArrayList<String>(); 
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories); 
    this.setListAdapter(adapter); 
}} 
+0

我現在嘗試它,但我有另一個問題,, 如何設置列表視圖中的原始對象有5個值,我已經使用適配器,並且當我使用類從活動延伸它工作正常,但是當我使用擴展列表活動,它沒有不顯示任何東西? –

+0

對不起我不太明白你的問題 – fasheikh

+0

第二意圖類別應重定向到的列表視圖,但列表中的項目是不是字符串,,這是項目的對象,,這個項目有5個值,我得到和使用類設置他們的值,我現在使用適配器 填充數據,我該如何使用此適配器數據填充listview行? –