从非活动类中的活动调用视图方法

时间:2017-04-09 07:36:18

标签: java android

这是我在CheckActivity.java中的方法

public void check5(View view) {
    lv = (ListView) findViewById(R.id.listView1);
    modelItems[5] = new Model("Item", 1);
    CustomAdapter adapter = new CustomAdapter(this, modelItems);
    lv.setAdapter(adapter);
}

这是我如何在非活动类中调用方法

CheckActivity mActivity = new CheckActivity();
mActivity.check5();

但这是我得到的错误。

enter image description here

我在alt-enter和android studio中创建了CheckActivity.java中的新方法

enter image description here

public void check5()
{
    lv = (ListView) findViewById(R.id.listView1);
    modelItems[5] = new Model("Item", 1);
    CustomAdapter adapter = new CustomAdapter(this, modelItems);
    lv.setAdapter(adapter);
}

但是我的代码无法与(View view)一起使用,如何解决?

编辑 - 有些人告诉我这是个坏主意。所以,如果这是不可能的,我如何将我的方法复制到非活动类?

1 个答案:

答案 0 :(得分:0)

您需要在非活动类中传递Context CheckActivity Activity,然后通过投射{{{}来调用来自非Activity类的Activity方法1}} Context名称。

Activity

传递视图就像你调用了成员函数一样,因此你可以访问声明为((CheckActivity)context).check5(view); 的类CheckActvity的变量。