我有一个ListView和一个自定义适配器。我想更改MyListAdapter对象中的变量。
这是我的自定义列表适配器中的一些代码:

public class MyListAdapter extends ArrayAdapter<Something> {
    ........
    ........
    private int myPosition= -1;
    ........

    public void setMyPosition(int pos) {
        myPosition = pos;
    }
................
}


现在在我的活动中:

MyListAdapter<Something> listAdapter = new MyListAdapter(this,
                R.layout.list_item_transaction, accounts);

listAdapter.setMyPosition(2);


但是我无法访问setMyPosition方法。
在Eclipse中,我得到了ArrayAdapter类型的setMyPosition()方法未定义

最佳答案

将listAdapter声明为MyListAdapter类型。否则它就不存在,如果父类中不存在子类的函数,Java将无法调用它。

仅当TransListAdapter是子类或MyListAdapter时,这才起作用。否则,setMyPosition函数也不存在。

10-08 07:37