2012-10-25 89 views
1

我有一個懶惰適配器的XML解析器,我解析所有的數據到列表視圖。listview到字符串數組

現在我想從listivew(wiche是1 textview每行)grabe所有的數據,並放在和字符串數組 ,但我不知道我該怎麼做。因爲如果我谷歌我只得到如何使用和字符串數組來填充列表的結果。

我的解析器:

TextView txt =(TextView)vi.findViewById(R.id.tv); 
HashMap<String, String> song = new HashMap<String, String>(); 
song = data.get(position);  
txt.setText(song.get(MainActivity.KEY_TXT)); 

我使用(到目前爲止)爲得到我的字符串數組的方法:

private String[] txt = { 

} 

在此先感謝。

+0

我可能誤解了你的問題,但不能簡單你在化妝的方法ListView的適配器來獲取數據並將其放入字符串數組中?我希望你不要從帶有該代碼的'ListView'行中搜索'TextView'。 – Luksprog

回答

1

你只需要在listView適配器的getView()方法中使用字符串數組。像這樣: -

給出strArray的大小與listView的大小相同。

String strArray[] = new String[<size of Your ListView>]; 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 


    TextView textView; 
    if (convertView == null) { 

     convertView = inflater.inflate(R.layout.listitem, parent, false); 
     textView = (TextView) convertView 
       .findViewById(R.id.textView); 
    } 
    strArray[position] = textView.getText().toString(); 
    return convertView; 
} 

現在ü要使用此strArray到其他類則要麼使其靜態或者你可以通過intent它傳遞給其他類。像這樣的: -

Bundle b=new Bundle(); 
b.putStringArray(key, new String[]{value1, value2}); 
Intent i=new Intent(context, Class); 
i.putExtras(b); 

,然後在其他activity class你應該把這個代碼得到這個字符串數組: -

Bundle b=this.getIntent().getExtras(); 
String[] array=b.getStringArray(key); 

,如果類要傳遞字符串數組人(即是S trArray)不Activity那麼你應該讓你的strArray靜這樣的:

public static strArray[]; 

現在我覺得你的問題將得到解決..

+0

我在strArray上遇到了一個錯誤,我應該填寫什麼內容? –

+0

對不起,我不明白你...請解釋 –

+0

我需要使用其他類中的所有txt字符串數組,我不知道該怎麼做,你能幫忙嗎? –