我有一个listview,它由我写的“Offer”类中的by对象填充。显然,调用toString()
方法,这是在每个列表项中显示的文本。我的问题是,如何实现一个onItemClickListener
,它将调用我的getter或setter方法之一来处理其toString方法用于填充该项目的特定对象?
例如,我想在点击一个项目时举起一个吐司或东西,它会检索字符串my getClaimCode()
方法并显示在toast(或任何其他对话框甚至是新活动)中。< / p>
我可以通过执行item.getClaimCode()
...?
答案 0 :(得分:0)
您不必实现AdapterView.OnItemClickListener,但我这样做,并且在onCreate()中我调用myListView.setOnItemClickListener(this)。
然后对于AdapterView.OnItemClickListener接口,我有方法:
@Override
public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) {
//Code
}
对你而言,你可能会这样做:
@Override
public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) {
//Arg2 is the position in the list so...
OfferObject offer = (OfferObject) arg0.getItemAtPosition(arg2);
//Go to town...
}
当然,您的Activity不必实现AdapterView.OnItemClickListener,您可以动态创建监听器。
yourList.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
OfferObject offer = (OfferObject) arg0.getItemAtPosition(arg2);
//Same idea here...
}
});