如何将 Activity 中的 ClickListener 设置为属于 Fragment 的 Button? (Android工作室Java)
How do I set a ClickListener in a Activity to a Button that belongs to a Fragment? (Android studio Java)
我需要一些帮助。我正在 android studio 上制作一个应用程序,我在片段中初始化了一个按钮。我需要在另一个 Activity 中调用此按钮并在其上设置点击侦听器。
问题是,当我这样做时,我得到了 .NullPointerExceptionError,它说对象的值为 null。
现在我尝试初始化我的片段和 Activity 中的按钮,但我不断收到该错误并且应用程序崩溃。
我需要一些帮助才能从 Fragment 调用此按钮。也许我的问题与其他问题类似,但我花了好几个小时来寻找这个问题的解决方案,但我一无所获。
在此先感谢您的帮助
由于按钮是片段的一部分,因此只适合在片段范围内定义按钮的任何 interactions/modifications。
有两种方法可以解决:
在 Fragment 本身中创建点击侦听器并从那里导航到另一个 activity。
创建一个您的 activity 实现的接口,该片段具有该接口的一个实例。单击按钮,调用接口的方法。这将使您可以控制托管片段的 activity。
MyActivity extends AppCompatActivity implements MyClickListener {
void onMyButtonClick() {
// Navigate to another activity here
}
}
MainFragment extends Fragment {
private MyClickListener listener;
void onAttach(Context context) {
listener = (MyClickListener) context;
// Now call listener.onMyButtonClick() from button's on click listener.
}
}
interface MyClickListener {
void onMyButtonClick();
}
我需要一些帮助。我正在 android studio 上制作一个应用程序,我在片段中初始化了一个按钮。我需要在另一个 Activity 中调用此按钮并在其上设置点击侦听器。
问题是,当我这样做时,我得到了 .NullPointerExceptionError,它说对象的值为 null。
现在我尝试初始化我的片段和 Activity 中的按钮,但我不断收到该错误并且应用程序崩溃。
我需要一些帮助才能从 Fragment 调用此按钮。也许我的问题与其他问题类似,但我花了好几个小时来寻找这个问题的解决方案,但我一无所获。
在此先感谢您的帮助
由于按钮是片段的一部分,因此只适合在片段范围内定义按钮的任何 interactions/modifications。
有两种方法可以解决:
在 Fragment 本身中创建点击侦听器并从那里导航到另一个 activity。
创建一个您的 activity 实现的接口,该片段具有该接口的一个实例。单击按钮,调用接口的方法。这将使您可以控制托管片段的 activity。
MyActivity extends AppCompatActivity implements MyClickListener { void onMyButtonClick() { // Navigate to another activity here } } MainFragment extends Fragment { private MyClickListener listener; void onAttach(Context context) { listener = (MyClickListener) context; // Now call listener.onMyButtonClick() from button's on click listener. } } interface MyClickListener { void onMyButtonClick(); }