访问自定义ArrayAdapter中的方法

时间:2013-05-23 18:14:32

标签: java android

我有一个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中我得到方法setMyPosition()未定义类型ArrayAdapter

2 个答案:

答案 0 :(得分:1)

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

这仅在TransListAdapter是子类或MyListAdapter时才有效。否则setMyPosition函数也不存在。

答案 1 :(得分:0)

试试这个:

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

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