2011-04-09 14 views
5

Bağdaştırıcım için ItemClickListener'ı ayarlamaya çalışıyorum ve şimdi tıklatılmış nesneyi nasıl alacağımı bilmiyorum. Notları olan bir listem var ve tıkladığım tıklamayla yeni etkinlik başlatmak istiyorum.SimpleCursorAdapter'den OnItemClickListener'da veri alma

private DatabaseHelper dbhelper; 

    SimpleCursorAdapter adapter = null; 
    public OnItemClickListener listener = new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(), "it works", Toast.LENGTH_SHORT).show(); 
     } 

    }; 
    @Override 
    public void onCreate(Bundle icicle) 
    { 
    super.onCreate(icicle); 

     setContentView(R.layout.first); 

     dbhelper = new DatabaseHelper(getApplicationContext()); 
     Cursor cursor = dbhelper.getAllNotes(); 
     startManagingCursor(cursor); 
     ListView lv = (ListView)findViewById(android.R.id.list); 

     String[] columns = new String[] {"NoteTitle", "NoteDate"}; 

     int[] to = new int[] { R.id.title_entry, R.id.date_entry}; 

     adapter = new SimpleCursorAdapter(this, R.layout.note_entry, cursor, columns, to); 

     lv.setAdapter(adapter); 
     lv.setOnItemClickListener(listener); 

    } 

... 
public Cursor getAllNotes() 
    { 
     SQLiteDatabase db=this.getReadableDatabase(); 

     return db.query(noteTable, new String [] {colID, colTitle, colDesc, colDate}, null, null, null, null, null); 

    } 
... 

I (Tost sadece çalışıp çalışmadığını kontrol için olduğunu) not id almak onItemClick içine ne eklemek gerekir? Ben cevap arıyordu ama bulamadık;/

peşin

Greg

cevap

2

iyi son öğe argümanı tıklanan satırın kimliğidir. veriyi almak için o satırı kullanabilirsiniz.

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    Intent intent = new Intent(this, MyCustomDetailActivity.class); 
    intent.putExtra("item-identifier", id); 
    startActivity(intent); 
} 
+0

Niçin başka bir faaliyette niyetin nasıl alınacağını söyler misiniz? Listview öğesinin içeriğini başka bir etkinliğin edittext olarak ayarlamak istiyorum. Cevabınızı takip ettim, ancak seçilen öğenin kimliğini ve veritabanı içeriğini başka bir etkinlikte nasıl alacağımı bilmiyorum. – Apurva