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