Как получить щелканную строку из списка с помощью OnItemClick?
У меня здесь проблемы. Это выглядит просто, и я продолжаю искать его решение. К сожалению, я не могу найти что-нибудь. Это моя проблема.... То, что я пытаюсь сделать, - это получить строку, показанную в списке, с помощью метода щелчка по элементу.
Это мой список:
- lol
- hi
- waw
Когда я нажимаю "lol", я хочу получить строку "lol".....
Что мне следует включить в мой код?
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);
}});
Ответы
Ответ 1
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
String data=(String)arg0.getItemAtPosition(arg2);
}});
data
содержит ваши данные о положении щелчка. Сделайте то, что вы хотите с этим сделать.
Ответ 2
arg0
- ваш AdapterView
, обычно ListView
. arg2
- это позиция в ListView
. Вы можете получить предметы из своего адаптера:
Object item = arg0.getItemAtPosition(arg2);
В зависимости от типа вашего объекта в вашем адаптере тривиальное решение:
String value = item.toString();
Ответ 3
Параметр arg1
вашего прослушивателя - это представление щелкнутого элемента.
Предполагая, что элементы вашего ListView
являются TextViews
, вы можете попробовать:
String itemText = ((TextView) arg1).getText();
Ответ 4
используйте String val = (String) arg0.getItemAtPosition(arg2)