2010-10-25 13 views
5

Bir Android uygulaması geliştiriyorum.ListActivity yöntemine tıklanan öğeyi tanımlayınListItemClick

ListActivity ürününe yüklenmiş birkaç nesne var. onListItemClick etkinliğine tıklanan öğeyi bilmek istiyorum.

onListItemClick numaralı yöntemin kimliği adlı bir parametresi olduğunu görüyorum. Bu kimliği nasıl ayarlayabilirim?

Nesnem bir kimlikle tanımlanıyor, bu ID'yi listItem'e nasıl ekleyebilirim?

Teşekkürler.

cevap

7

Liste verilerinizin kaynağı nedir? Bir imleci kullanıyorsanız - onListItemClick(ListView l, View v, int position, long id) içinde geçirilen kimlik otomatik olarak imleç satırının kimliği olacaktır. SectionObj, daha sonra erişmek istediğiniz nesnenizse, kaynağını ayarladığınızda bağdaştırıcıda belirtin.

+0

İmleç kullanmıyorum. Bir String dizisi kullanıyorum. – VansFannel

+0

Ardından dizininizin dizininden birinde kimliği içerdiğini varsayarak, konum değişkenini kullanarak diziye erişin. yani myArray [konum] [0] (kimliğiniz dizinin @ dizini 0 ise) – Dave

+0

Ne demek istediğimi anlıyor musunuz? Kaynak veri, başlangıçta mevcut olan bir String [] veya ArrayList veya imleç veya başka bir kaynak olsun, nesne kimliğiniz olmalıdır. – Dave

2

Aşağıdakileri kullanın;

listView.getItemAtPosition(position); 

ListView, liste görünümünüzün adıdır.

+0

Hayır, bu benim için çalışmaz. Örneğin, 12 numaralı pozisyona id = 1 ile nesne koydum. Pozisyonu bilmek istemiyorum, belirli bir pozisyondaki nesneden kimliği bilmek istiyorum. – VansFannel

8

Eğer ArrayAdapter görünümünde kimliği ayarlayabilirsiniz

protected void onListItemClick(ListView l, View v, int position, long id) { 

SectionObj o=(SectionObj)getListView().getItemAtPosition(position); 

}

1

ur dinleyici yönteminde sonra

ArrayList<SectionObj> li 

ArrayAdapter<SectionObj> adapter=new ArrayAdapter<SectionObj>(getApplicationContext(),android.R.layout.simple_list_item_1, li); 
    setListAdapter(adapter); 

... Aşağıdaki sayfalara göz atın, ardından çözümü bulmalısınız.

http://developer.android.com/reference/android/app/ListActivity.html#onListItemClick(android.widget.ListView,%20android.view.View,%20int,%20long)

http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications

İlgili konular