大家早上好。
我想在onCreate
的MainActivity
方法中处理另一个片段的侦听器。
但是,它没有用。
[MainActivity
代码:
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();
}
});
这是布局资源文件夹当前包含的内容:
所以我在另一个片段类上做到了。但是片段上的按钮侦听器仍然无法正常工作。
这是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();
}
});