2013-08-01 1 views
12

У меня здесь проблемы. Это выглядит просто, и я продолжаю искать его решение. К сожалению, я не могу найти что-нибудь. Это моя проблема. То, что я пытаюсь сделать, - это получить строку, показанную в списке, с помощью метода щелчка по элементу.Как получить нажатую строку из списка с помощью OnItemClick?

Это мой ListView:

- lol 
- hi 
- waw 

Когда я нажимаю «лол» я хочу, чтобы получить «лол» строка .....

Что я должен положить в мой код здесь? :

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

Вы должны размещать код, который на самом деле заполняющий ListView – fiddler

+0

Что тип адаптеров вы используете? это пользовательский адаптер –

+0

Я уже знаю, как это сделать ..... @ user2012, njzk2, karan23 уже дал мне ответ, что мне нужно. Но, спасибо за внимание. –

ответ

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


    }}); 

data содержит данные вашего Clicked позиции на. Сделайте то, что вы хотите с этим делать.

+1

У меня будет много ввода .... не только это три. я не могу определить их как один за другим ..... мне нужно что-то более гибкое и универсальное –

+0

Это не решение ... –

+1

@CharlesLynch: см. мой отредактированный ответ. –

2

arg1 параметр вашего слушателя вид на Clicked элемента.

Предполагая, что элементы вашего ListView являются TextViews вы можете попробовать:

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

Как я могу это сделать ???? У меня нет никакого текстового обзора .... –

1

использование Строка вал = (String) arg0.getItemAtPosition (arg2)

+0

спасибо за ответ .. я действительно оценил это –

4

arg0 Ваш AdapterView, как правило, ListView. arg2 - это позиция в ListView. Вы можете получить элементы из вашего адаптера:

Object item = arg0.getItemAtPosition(arg2); 

В зависимости от типа вашего объекта в адаптере, тривиальное решение:

String value = item.toString(); 
+0

Спасибо, я оценил ваш ответ. –