我尝试制作一个Android应用程序,将一些数据从sqlite数据库填充到列表视图中
使用ArrayAdapter
。
我存储数据的列表如下:
private String[] allUserColumns = { MySQLiteHelper.COLUMN_USERID,
MySQLiteHelper.COLUMN_USERNAME };
我想转到另一个活动,通过点击列表视图项来传递与用户名相关的ID。
我知道我应该使用setOnItemClickListener
方法
但实际上我不知道该怎么做。
我是指如何获取ID
,以及如何设置setOnItemClickListener
方法来完成此类任务。
请任何人可以帮我一个特定的代码吗?
答案 0 :(得分:0)
public Cursor columnValues() throws SQLException{
Cursor mCursor = db.query(Player_Table,
new String[] {Player_Name,_id},null,null, null, null, null);
//Cursor mCursor = mDb.rawQuery("Select",null);
if (mCursor != null)
{
mCursor.moveToFirst();
}
return mCursor;
}
然后像这样收到
ArrayList<String> first = new ArrayList<String>();
ArrayList<String> id_list = new ArrayList<String>();
cursor = dbm.columnValues();
cursor.moveToFirst();
startManagingCursor(cursor);
for(int i=0;i<cursor.getCount();i++){
// Received values of player name
// from player table
String reciv = cursor.getString(cursor.getColumnIndex(DBManager.Player_Name));
String P_id= cursor.getString(cursor.getColumnIndex(DBManager._id));
first.add(reciv);
id_list.add(P_id);
cursor.moveToNext();
}
// ARRAY OF ID
String[] _id = id_list.toArray(new
String[id_list.size()]);
player.setAdapter(new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1 , first));
player.setOnItemClickListener(Activity.this);
然后是点击监听器
@Override
public void onItemClick(AdapterView arg0, View arg1, int position,
long id) {
i = new Intent(Add_Modify_Delete_Player.this,
ModifyDeletePlayer.class);
System.out.println(_id[position]);
i.putExtra("Id", _id[position]);
startActivity(i);
}