Как использовать setContentView (int) из класса, который не расширяет действие
мне нужно вызвать setContentView (int) из моего основного действия из другого класса, который не расширяет действие.
в моем пользовательском классе у меня есть private Context context;
var, который передается из Activity в конструкторе, но я не могу понять, как получить доступ к методам Activity с помощью context
переменной.
3 ответов
Если ваш контекст является экземпляром класса Activity, простое приведение класса должно работать:
Activity a = (Activity) context;
a.setContentView(R.layout.your_layout);
одним из решений (может быть, не самым элегантным) является передача вызывающего действия другому классу, а не только контексту.
вам нужно будет передать ссылку на действие, которое вы используете.
что-то вроде этого
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...
}
}