我有一个带有延迟适配器的xml解析器,我将所有数据解析为列表视图。
现在我想从listivew中获取所有数据(wiche是每行1个textview)并且放入和字符串数组 但我不知道我该怎么做。因为如果我谷歌我只得到如何使用和字符串数组填充列表的结果。
我的解析器:
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 :(得分: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
中你应该通过输入以下代码获得这个String数组: -
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
如果要传递String Array(即strArray)的类不是Activity
,那么你应该使你的strArray像这样静态:
public static strArray[];
现在我认为你的问题将得到解决..