通过单击listview项目,android移动到另一个活动

时间:2012-03-01 11:56:56

标签: android sqlite

我尝试制作一个Android应用程序,将一些数据从sqlite数据库填充到列表视图中 使用ArrayAdapter。 我存储数据的列表如下:

private String[] allUserColumns = { MySQLiteHelper.COLUMN_USERID,
            MySQLiteHelper.COLUMN_USERNAME };

我想转到另一个活动,通过点击列表视图项来传递与用户名相关的ID。

我知道我应该使用setOnItemClickListener方法 但实际上我不知道该怎么做。 我是指如何获取ID,以及如何设置setOnItemClickListener方法来完成此类任务。 请任何人可以帮我一个特定的代码吗?

1 个答案:

答案 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);                       
}