0
我想从ListView
获取对象。我把我的数据从一个csv
文件。从Android的ListView获取对象
我有两列和大约100行。第一列是名字,第二列是数字。 我想要点击一行后得到数字。
所以我必须在onCreate
:
listView.setClickable(true);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Button btn2 = (Button) findViewById(R.id.button3);
btn2.setEnabled(true);
Object listItem = listView.getItemAtPosition(position);
String item = (listView.getItemAtPosition(position).toString());
btn2.setText(item);
}
});
而在此之后,当我点击一个行(第一和第二列=得分相同),我Button
文本显示[LJAVA.LANG.STRING;@42791450
,每一行有其他数字。
编辑:
listView = (ListView) findViewById(R.id.list_view2);
itemArrayAdapter = new ItemArrayAdapter(getApplicationContext(), R.layout.single_list_item);
Parcelable state = listView.onSaveInstanceState();
listView.setAdapter(itemArrayAdapter);
listView.onRestoreInstanceState(state);
InputStream inputStream = getResources().openRawResource(R.raw.manager_number);
CSVReader csv = new CSVReader(inputStream);
List<String[]> scoreList = csv.read();
for (String[] scoreData : scoreList) {
itemArrayAdapter.add(scoreData);
}
您留下了对象的标识符而不是对象的相应编号。你需要实现一个对象,它是相应的setter和getters,并检索你想要的值。例如:btn2.setText(listView.getItemAtPosition(position).getNumber()); – Ricardo
显示适配器初始化代码。 –