Я знаю, что это простой вопрос, но мне что-то не хватает.
У меня есть 2 класса: MainActivity и CustomView. У меня есть XML-макет с этим CustomView.Получение контекста MainActivity в классе CustomView
Я хочу получить доступ ко всем моим переменным MainActivity из своего класса CustomView, а также для их изменения, Я попытался получить контекст, но он не сработал.
класс MainActivity:
MyCustomView customV;
int myVar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_page);
customV = (MyCustomView) findViewById(R.id.view2);
myVar = 5;
}
MyCustomView класс:
public class MyCustomView extends TextView {
public MyCustomView(Context context) {
super(context);
init();
}
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
context.myVar = 7 //this is what I'm trying to do...
Я также попытался getContext, который не работал. Не могли бы вы помочь мне?
Эй, спасибо за ваш ответ, я понимаю, что вы говорите, но я до сих пор не понимаю, что является лучшим дизайном для моей проблемы. Что делать, если myVar является gridView, а мой customView - фактически viewView. Когда я рисую в surfaceView - мне нужно знать информацию о позиции GridView (в «onTouchEvent» мне нужно что-то вроде «context.myVar.pointToPosition (x, y)). Какими другими способами я могу получить позиции другого представления, если а не этот дизайн? – SHAI
Если я правильно понял вас, когда в GridView происходит событие касания, вам нужно нарисовать что-то на SurfaceView? Тогда вы можете создать публичный метод в SurfaceView, который вы бы назвали onTouch вашего GridView. чтобы помочь вам, не имея всех подробностей, но я бы сказал, что основная идея состоит в том, что каждый вид должен быть независимым и рисовать/модифицировать себя на основе необработанных данных, а не ссылаться на другие виды или на активность. – 2Dee
Спасибо, Попробуем это! – SHAI