2012-02-24 21 views
8

Bazı öğelerle birlikte bir listeyi görüntüleyin.Android ListView ve OnClickListener: Seçilen öğeyi nasıl alırım?

OnClickListener öğesinden, seçilen öğenin adını (String) almak istiyorum.

Seçilen konumu nasıl alacağımı biliyorum, ancak bu öğenin dizesini nasıl bulabilirim?

İşte benim tıklama dinleyici üzerindedir:

journalNames.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 

    }}); 

Benim liste görünümü veritabanından bazı sorgu ile doldurulur.

Teşekkür ederiz. Görüntülemek veya ebeveyn üzerinde ya bulabilirsiniz

journalNames.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 
     String selectedFromList = (journalNames.getItemAtPosition(position).getString()); 
    }}); 

cevap

17

ne hakkında. Tutulmada sadece görünüm yazın. ve yazdıktan sonra hangi yöntemleri aldığınızı görün (nokta). Bence bu en iyisi.

parent.getAdapter().getItem(position); 
+0

bence getItemAtPosition() bir String döndürmez –

+1

Şaşırtıcı, harika bir yanıt. Tam olarak ihtiyacım olan buydu. Çok teşekkür ederim. Sonunda sadece .getString() öğesini ekleyin. –

+1

bu şekilde kullanabilirsiniz, String selectedFromList = (String) journalNames.getItemAtPosition (position); veya String selectedFromList = (journalNames.getItemAtPosition (position) .toString()); – user370305

8

+1

Bağdaştırıcınız/listeniz liste öğesi görünümünüzde gösterilenden daha fazla bilgi (örn. Ids) içerebileceğinden, bu yanıt için oy veriyorum. – David

+0

Bu şekilde olmalı! Her zaman doğrudan bir listeye girdim (sınıfta bir alan olarak) ama yanılmışım. Ebeveyn aracılığıyla dinleyici kapsüllenmiş olur. Hatta bir listeden diğerine geçmek zorunda kaldım, dinleyici değişmeden kalabilir! – user1592714

İlgili konular