2013-08-01 11 views
12

Mam tu pewien problem. Wygląda to prosto i wciąż szukam jego rozwiązania. Niestety, nie mogę znaleźć niczego. To jest mój problem .... Próbuję zrobić to, aby łańcuch pojawił się w widoku listy z metody On item click.Jak odzyskać kliknięty ciąg z listy przy użyciu OnItemClick?

To mój ListView:

- lol 
- hi 
- waw 

Kiedy klikam "lol" Chcę uzyskać "lol" ciąg .....

Co należy umieścić w kodzie tutaj? :

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

Należy pisać kod, który faktycznie zapełnia ListView – fiddler

+0

Co jakiego rodzaju adapterów używasz? czy to jest niestandardowy adapter –

+0

już wiem jak to zrobić ..... @ user2012, njzk2, karan23 już dają mi odpowiedź, czego potrzebuję. Ale, dziękuję za uwagę. –

Odpowiedz

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


    }}); 

data zawiera dane swojej kliknął pozycję za. Rób, co chcesz z tym zrobić.

+1

Będę miał wiele danych wejściowych .... nie tylko trzy. Nie mogę zdefiniować ich tak po kolei ... potrzebuję czegoś bardziej elastycznego i uniwersalnego –

+0

To nie jest rozwiązanie ... –

+1

@CharlesLynch: zobacz moją zmienioną odpowiedź. –

2

Parametr swojego słuchacza arg1 jest widok klikniętego elementu.

Zakładając, że pozycje swojej ListViewTextViews można spróbować:

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

Jak mogę to zrobić ???? Nie mam żadnego textview ... –

1

użycie String val = (String) arg0.getItemAtPosition (arg2)

+0

dziękuję za odpowiedź .. naprawdę doceniam to –

4

arg0 to AdapterView, zwykle ListView. arg2 to pozycja w numerze ListView. Można uzyskać elementy z adaptera:

Object item = arg0.getItemAtPosition(arg2); 

W zależności od rodzaju Twojego obiektu w karty, banalne rozwiązanie:

String value = item.toString(); 
+0

Dzięki, doceniam twoją odpowiedź. –

Powiązane problemy