在ListView中调用对象的方法

时间:2011-05-15 17:54:21

标签: android

我有一个listview,它由我写的“Offer”类中的by对象填充。显然,调用toString()方法,这是在每个列表项中显示的文本。我的问题是,如何实现一个onItemClickListener,它将调用我的getter或setter方法之一来处理其toString方法用于填充该项目的特定对象?

例如,我想在点击一个项目时举起一个吐司或东西,它会检索字符串my getClaimCode()方法并显示在toast(或任何其他对话框甚至是新活动)中。< / p>

我可以通过执行item.getClaimCode() ...?

之类的操作来调用方法

1 个答案:

答案 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...
    }

});