Я создаю приложение для Android, и в классе MainActivity возникла проблема с реализацией части алгоритма. Моя проблема заключается в том, как сделать идентификатор XML-файла видимым в MainActivity, причем макет панели навигации представляет собой файл макета XML, добавленный в метод "setContentView ()", поскольку приложение организовано как макет панели навигации с внутренними макетами, и один из этих макетов содержит классы EditText?
Мне действительно нужен доступ к этому текстовому полю в классе MainActivity, и я не могу найти способ сделать это.
В предоставленном коде я хочу получить к ним доступ, вызвав методы finViewById (), отмеченные в комментариях 1. и 2.
XML-файлами являются Activity_main, Input_layout и setting_layout.
Activity_main - это компоновка панели навигации, а остальные раскладки отображаются с вызовом фрагмента.
Я пытался включить его в основной XML-файл активности, и это помогло решить проблему, хотя это не решение, которое мне нужно.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input = findViewById(R.id.text1); //1.
output = findViewById(R.id.text_output); //2.
input.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}