2012-04-13 72 views
1

我有問題,當我從列表視圖中的兩個或多個字符串數組中獲取值我只有第一個字符串數組使用不同的按鈕列表視圖中單擊列表值從陣列個列表不在列表中獲得不同的值在列表視圖中從Android中的字符串數組獲得相同的值問題

//下面是一個使用我的撥碼開關的情況下

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class CategoriesList extends ListActivity { 
    ListView listView; 
    private String[] name1; 
    private static int[] name = { R.array.NewArrivals, R.array.Sarees, 
      R.array.SalwarKameez, R.array.Lahenga, R.array.Kurti, 
      R.array.Jewelry, R.array.Accessories, R.array.ReadyToShip }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.itemlist); 

     listView = (ListView) findViewById(android.R.id.list); 
     displayList(); 
    } 

    public void displayList() { 
     // TODO Auto-generated method stub 
     for (int i = 1; i <= name.length; i++) 
     { 
       name1 = getResources().getStringArray(name[i]); 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, name1); 
       setListAdapter(adapter); 
       adapter.setNotifyOnChange(true); 
     } 
    } 
} 

回答

1

你爲什麼覆蓋您在一次迭代中下一個設置adatper?您將所有適配器設置爲同一個列表項,這意味着最後一個設置將具有視覺效果(所有其他設置將被重寫)。

也許您需要更改不同情況下列表項的ID?

正如你現在已經寫你的代碼,你不需要有switchfor你可以重寫你的代碼,這樣的:

String [] name1; 
for (int i = 0; i <= name.length; i++) { 
    name1 = getResources().getStringArray(name[i]); 
    ArrayAdapter<String> adapter = 
     new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, name1); 
    setListAdapter(adapter); 
    adapter.setNotifyOnChange(true); 
} 

雖然,再次,這是不是您的本意,我想。

+0

好吧..我明白了..但是我已經重載了適配器,因爲我想設置Adapter.setNotifyOnChange(true)的方法。 – 2012-04-13 11:04:26

+0

thanxs ...先生.. – 2012-04-13 11:07:05

+0

我用你的代碼先生,但我沒有得到名單。它顯示錯誤先生。 – 2012-04-13 11:38:58

0

功能displayList()始終以設置列表適配器結束以顯示R.array.ReadyToShip中的元素。這不是你想要的嗎?

+0

我想字符串數組從字符串不同的按鈕單擊我想顯示不同的數據存儲在字符串數組,所以它怎麼可能。 – 2012-04-13 11:14:24

+0

您可以創建和排列字符串,如{「新到達」,「Sarees」,...}並使用ArrayAdapter顯示它。然後在onListItemClicked中,獲取單擊主題的位置,確定應顯示哪個數組,並相應地設置arrayadapter,以便顯示它。在這個新的'細節'數組中,如果在你的onListItemClick中點擊任何東西,你可以將你的'主題'數組再次設置回 – 2012-04-13 11:54:38

+0

好吧......先生,我將使用這種類型的數組.. – 2012-04-13 11:58:28

相關問題