我必须在两行listView中列出String Array的所有元素。
字符串数组是动态的,可以改变大小或内容。因此,当String Array的大小为5时,例如5将显示listView元素。
你知道怎么做吗?
我已尝试过这个,但这个列表只有第一个元素:
// wenn noch keine Standorte hinterlegt sind gibt es eine CursorIndexOutOfBoundsException
try {
datum_global = datenBankHelper.get_datum();
int alle_eintraege_aller_datumsangaben = datum_global.length; // Alle Einträge von allen Datumsangaben (auch von gleichen)
Log.d("size", "size " + alle_eintraege_aller_datumsangaben + "|" + datum_global[0]); // z.B. 27, da 27 Einträge für alle Datumsangaben
for(int i= 0; i < alle_eintraege_aller_datumsangaben; i++) {
gespeicherte_routen = new String[][]{
{datum_global[i], "Anzahl Einträge: " + "Test"}
};
}
} catch (CursorIndexOutOfBoundsException cs){
}
@SuppressWarnings("Convert2Diamond") ArrayList<HashMap<String, String>> list = null;
// wenn noch keine Standorte hinterlegt sind gibt es eine NullPointerException
try {
list = new ArrayList<HashMap<String, String>>();
HashMap<String, String> item;
for (String[] routen : gespeicherte_routen) {
Log.d("schleife3", "schleife3 " + routen[0] + "|" + routen[1] + gespeicherte_routen.length);
//noinspection Convert2Diamond
item = new HashMap<String, String>();
item.put("line1", routen[0]);
item.put("line2", routen[1]);
list.add(item);
}
}catch(NullPointerException np){
}
感谢您的帮助。
答案 0 :(得分:1)
ListView
需要Adapter
来显示数据,而Adapter
需要List
(在这种情况下为字符串)。如果您更改列表中的值,则只需在notifyDataSetChanged()
上调用Adapter
,ListView
就会自行更新
ListView mListView;
ArrayAdapter mAdapter;
List<String> mList;
//...
mAdapter = new ArrayAdapter(context, R.layout.something, mList);
mListView.setAdapter(adapter);
// ..
mList.add("bla bla");
mAdapter.notifyDataSetChanged();