public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
String data=(String)arg0.getItemAtPosition(arg2);
}});
data
contains your clicked position's data. Do what ever you want to do with that.
質問
I've got some problem here. It looks simple and i keep searching for its solution. Unfortunately, i cant find anything. This is my problem.... What i'm trying to do is to get the string showed in the listview from an On item click method.
This is my listview :
- lol
- hi
- waw
When i click "lol" i want to get the "lol" string.....
What should i put in my code here? :
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);
}});
解決
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
{
String data=(String)arg0.getItemAtPosition(arg2);
}});
data
contains your clicked position's data. Do what ever you want to do with that.
他のヒント
arg0
is your AdapterView
, typically a ListView
. arg2
is the position in the ListView
. You can get the items from your Adapter :
Object item = arg0.getItemAtPosition(arg2);
Depending on the type of your object in your adapter, a trivial solution is:
String value = item.toString();
The arg1
parameter of your listener is the clicked item's view.
Assuming that the items of your ListView
are TextViews
you can try:
String itemText = ((TextView) arg1).getText();
use String val = (String)arg0.getItemAtPosition(arg2)
For Kotlin use this:
mListView.setOnItemClickListener{ parent, view, position, id ->
println("Item : " + (view as TextView).text)
}
This only works if you inflated your adapter with just a TextView
otherwise instead of casting it to TextView you should get your TextView by doing something like
view.findViewById(R.id.your_textview_id)