![](/img/trans.png)
[英]Call a method from MainActivity class from a non-activity class
[英]Call view method from an activity in non-activity class
这是我在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();
但这是我得到的错误。
我进入alt并在CheckActivity.java中创建android studio新方法
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)
使用,我该如何解决?
编辑-有些人告诉我,这不是一个好主意。 因此,如果这不可能,我如何将我的方法复制到非活动类中?
您需要在非Activity类中传递CheckActivity
Activity
Context
,然后通过在Activity
名称中强制转换Context
来从Non Activity
Class调用Activity
方法。
((CheckActivity)context).check5(view);
就像调用成员函数一样传递视图,因此您可以访问声明为public
CheckActvity
类的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.