我只是android中的菜鸟。我从某人的博客那里得到了这段代码。
他做了一个简单的数据库查询并在listview中填充了一个arraylist。
如何从listview中的每个选定项目到新活动的文本视图中获取值?
这是arraylist代码:
public ArrayList<ArrayList<Object>> rowTable() {
ArrayList<ArrayList<Object>> fillArray = new ArrayList<ArrayList<Object>>();
Cursor cur;
try {
cur = db.query(TABLE_TEST, new String[] { ROW_ID, ROW_NAME,
ROW_CLASS }, null, null, null, null, null);
cur.moveToFirst();
if (!cur.isAfterLast()) {
do {
ArrayList<Object> fillList = new ArrayList<Object>();
dataList.add(cur.getLong(0));
dataList.add(cur.getString(1));
dataList.add(cur.getString(2));
dataArray.add(fillList);
} while (cur.moveToNext());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("ERROR DATABASE", e.toString());
}
return fillArray;
}
这是listview代码。
private void getArrayList() {
// TODO Auto-generated method stub
ArrayList<ArrayList<Object>> getData = dtbase.rowTable();//
name = new String[getData.size()];
for (int x = 0; x < getData.size(); x++) {
ArrayList<Object> getRow = getData.get(x);
name[x] = getRow.get(1).toString();
}
ArrayAdapter<String> sName = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, name);
lv.setAdapter(sName);
}
你可以帮帮我吗?
答案 0 :(得分:3)
获取所选项目非常容易
以下是您需要覆盖的方法。
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
...
}
}
然后使用position参数访问arraylist,以便在textview中显示它。