我需要从另一个不扩展Activity的类中调用我的主Activity中的setContentView(int)。
在我的自定义类中,我获得了从构造函数中的Activity传递的private Context context;
var,但我无法弄清楚如何使用context
变量访问Activity方法。 / p>
答案 0 :(得分:11)
如果您的上下文是Activity类的实例,则简单的类转换应该起作用:
Activity a = (Activity) context;
a.setContentView(R.layout.your_layout);
答案 1 :(得分:1)
一个解决方案(可能不是最优雅的)是将调用活动传递给另一个类,而不仅仅是上下文。
答案 2 :(得分:0)
您必须传入对您正在使用的活动的引用。
像这样的东西
class ActivityA extends Activity{
@Override
public void onCreate(Bundle state){
super.onCreate(state);
ClassA myclass = new ClassA(this);
}
}
然后A级会有:
class ClassA {
public ClassA(Activity yourActivity){
... Get your view here ....
yourActivity.setContentView(view);
... do more things...
}
}