将变量从Activity传递给Adapter

时间:2014-08-21 13:12:37

标签: java android

我想将变量从活动传递给适配器。
不知道我在哪里犯了错误。

public class CustomListAdapter extends BaseExpandableListAdapter {
    private int weight;
    public void setWeight(int weight) {
        this.weight = weight;
    }
.....
}

但我无法在我的活动

中访问此方法
public class mActivity extends Activity {
    CustomListAdapter expandableListAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.emergency_activity);

        expandableListAdapter = new CustomListAdapter (this);
        //expandableListAdapter.setWeight(5);
... 

" expandableListAdapter无法解析为类型"

2 个答案:

答案 0 :(得分:1)

您将变量声明为一种类型

CustomListAdapter expandableListAdapter;

然后尝试将其实例化为另一个

expandableListAdapter = new EmergencyListAdapter(this);

这可能会产生几个不同的错误,但在这里,您的IDE认为它是一个没有声明类型的新变量。

您需要将声明的类型更改为EmergencyListAdapter或将其实例化为new CustomListAdapter()(假设该类具有空构造函数)。

答案 1 :(得分:0)

您的exapndableListAdapter尚未创建。您正在创建EmergencyListAdapter(您还没有提供代码)。

你想要做的是探讨这个问题:

expandableListAdapter = new CustomListAdapter(this);

然后你应该能够做到:

expandableListAdapter.setWeight(5);
祝你好运。