Доброе утро всем.
Я хочу обработать слушатель другого фрагмента в методе onCreate
из MainActivity
.
Однако, это не сработало.
MainActivity
code:
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
View inflatedView = getLayoutInflater().inflate(R.layout.fragment_notifications, null);
Button searchBtn = (Button) inflatedView.findViewById(R.id.searchBtn);
searchBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
outputText.setText("pressed");
findDevice();
}
});
Вот что сейчас содержит папка ресурса макета:
![Directory view of layout resource folder](https://i.stack.imgur.com/pmyf2.png)
//////////////////////////////////////////////////////////////////////////////
Итак, я сделал это в другом классе фрагментов. Но слушатель кнопки на фрагменте все еще не работал.
Это MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView navView = findViewById(R.id.nav_view);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications, R.id.navigation_message)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);
}
}
А это NotificationsFragment
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
notificationsViewModel =
ViewModelProviders.of(this).get(NotificationsViewModel.class);
View root = inflater.inflate(R.layout.fragment_notifications, container, false);
final TextView textView = root.findViewById(R.id.text_notifications);
notificationsViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
final View rootView = inflater.inflate(R.layout.fragment_notifications, container);
outputText = (TextView) rootView.findViewById(R.id.outputTextView);
inputEditText = (EditText) rootView.findViewById(R.id.inputEditText);
sendBtn = (Button) rootView.findViewById(R.id.sendBtn);
final Button searchBtn = (Button) rootView.findViewById(R.id.searchBtn);
searchBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
outputText.setText("pressed");
inputEditText.setText("pressed");
findDevice();
}
});