问题
How I can get the selected item data in onItemLongClick
?
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
//
return false;
}
});
回答1:
final ListView lv = (ListView) findViewById(R.id.ListView01);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int pos, long mylng) {
String selectedFromList =(lv.getItemAtPosition(pos).toString());
// this is your selected item
}
});
回答2:
listView.setOnItemLongClickListener(new OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3)
{
String item = ArryList.get(arg2);
Toast.makeText(getBaseContext(), item,
Toast.LENGTH_LONG).show();
return false;
}
});
回答3:
If you parse set of data from xml, json, database, etc it's better to create custom model i.e. your model:
public class YourModel
{
private int id = -1;
private String title = "";
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
}
In activity:
private YourModel yourModel;
@Override
public void onCreate(Bundle savedInstanceState)
{
lstView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id)
{
detailsModel = ((YourAdapter) lstView.getAdapter()).getItem(position);
Toast.makeText(getApplicationContext, yourModel.getTitle(),
Toast.LENGTH_LONG).show();
}
}
}
来源:https://stackoverflow.com/questions/13988761/how-to-get-string-from-listview