2013-08-01 23 views
12

Burada bir sorunum var. Basit görünüyor ve onun çözümünü aramaya devam ediyorum. Maalesef hiçbir şey bulamıyorum. Bu benim sorunum .... Yapmaya çalıştığım şey, bir On item tıklama yönteminden liste görünümünde gösterilen dizeyi elde etmektir.Bir tıklatılmış dizeyi OnItemClick kullanarak bir liste görünümünden nasıl alırım?

Bu benim liste görünümü geçerli:

- lol 
- hi 
- waw 

i "lol" i "lol" dizesini almak istiyorum tıklayın ..... burada kodumu neleri içermelidir

? :

lv = (ListView) findViewById(R.id.list_view); 
lv.setOnItemClickListener(new OnItemClickListener() 
{ 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
{ 
    // Intent newI = new Intent(this,PDetail.class); 
    Intent newI = new Intent (Create.this, PDetail.class); 
    //String sd = ((() arg1).getText()).toString(); 
    //newI.putExtra("x", arg2); 
    startActivity (newI); 
    // db.getList(arg3); 

}}); 
+0

Aslında ListView doldurur kod gönderilmesi gerekiyor – fiddler

+0

neler adaptör tipi kullanıyor musunuz? Bu özel bir adaptör –

+0

zaten nasıl yapılacağını biliyorum ..... @ user2012, njzk2, karan23 zaten neye ihtiyacım var cevap verin. Ama dikkatiniz için teşekkür ederim. –

cevap

25
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
    { 
     String data=(String)arg0.getItemAtPosition(arg2); 


    }}); 

data senin tıklandığında konumunun verileri içerir. Bununla ne yapmak istiyorsan onu yap.

+1

Birçok girdim olacak .... sadece bu üç değil. Onları tek tek bu şekilde tanımlayamıyorum ..... daha esnek ve evrensel bir şeye ihtiyacım var –

+0

Bu bir çözüm değil ... –

+1

@CharlesLynch: benim düzenlenmiş cevabımı gör. –

2

senin dinleyici arg1 parametre tıklanan öğenin görünümüdür.

sizin ListView kalemleri olduğunu varsayarsak TextViews deneyebileceğiniz:

String itemText = ((TextView) arg1).getText(); 
+0

Bunu nasıl yapabilirim ???? Herhangi bir metin görüm yok .... –

1

kullanım Dize val = (String) arg0.getItemAtPosition (arg2)

+0

cevabınız için teşekkürler .. Gerçekten çok memnun oldum –

4

arg0 genellikle AdapterView, bir ListView olduğunu. arg2, ListView konumundaki konumdur. Eğer Adaptörü öğeleri alabilirsiniz:

Object item = arg0.getItemAtPosition(arg2); 

Bağdaştırıcınızla içinde nesne türüne bağlı olarak, önemsiz bir çözümdür:

String value = item.toString(); 
+0

Teşekkürler, cevabınızı takdir ediyorum. –