2012-03-01 11 views
0

を使用して、リストビュー にsqliteデータベースのデータを入力するアンドロイドアプリを作成しようとしました。私はデータを格納 リストは、このようなものです:私は、ListView項目でクリックすることにより、ユーザ名に関連したIDを渡す別のアクティビティに移動したいリストビューの項目をクリックして別のアクティビティに移動します。

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

私はsetOnItemClickListenerメソッド を使用すべきであることを知っていますが、実際にはその方法を知りません。 私はIDを取得する方法と、そのようなタスクを行う方法をsetOnItemClickListenerに設定する方法を意味します。 特定のコードを教えてもらえますか?

+1

その簡単な位置onListItemClickを取得し、そのポジションIDをデータベースから取得します。 –

+0

カスタムアダプタクラスを投稿します。 – Hiral

答えて

0

私は、この

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(); 
} 

// 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); 

[OK]をクリックしますように受け取り、このように

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; 
} 

よう 最初の火災クエリをこれを行ってきましたリスナー

@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);      
} 
関連する問題