Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从活动中获取片段中的按钮_Java_Android_Button_Android Activity_Fragment - Fatal编程技术网

Java 从活动中获取片段中的按钮

Java 从活动中获取片段中的按钮,java,android,button,android-activity,fragment,Java,Android,Button,Android Activity,Fragment,我该怎么做?或者甚至可以从活动中获取片段中的按钮 我尝试了很多方法,例如试图获取片段的视图或容器,但没有成功 我这样做是因为我在一个活动中有27个片段,它们都有一个相同的按钮。我不想在每个片段上都做一个按钮侦听器,我想大大减少代码,而只是在我的活动中做一个循环,遍历每个片段,并在那里设置按钮,以便在按下按钮时激活按钮侦听器(在活动中) 一旦我知道如何获得一个按钮,并将其设置为按钮侦听器,我就可以轻松地自己完成循环 我刚完成计算机科学的第一年,已经用java编写代码好几年了 提前谢谢 不要循环或获

我该怎么做?或者甚至可以从
活动
中获取
片段
中的
按钮

我尝试了很多方法,例如试图获取片段的视图或容器,但没有成功

我这样做是因为我在一个
活动中有27个
片段
,它们都有一个相同的
按钮
。我不想在每个片段上都做一个按钮侦听器,我想大大减少代码,而只是在我的
活动中做一个循环,遍历每个片段,并在那里设置按钮,以便在按下按钮时激活按钮侦听器(在活动中)

一旦我知道如何获得一个
按钮
,并将其设置为按钮
侦听器
,我就可以轻松地自己完成循环

我刚完成计算机科学的第一年,已经用java编写代码好几年了


提前谢谢

不要循环或获取对按钮的引用

只需让您的活动实现OnClickListener,并将其设置为所有片段中按钮的单击侦听器。。 在片段中

yourBtn.setOnClickListener(((YourActivityType) getActivity()));
另一个没有implements关键字的解决方案

是在您的活动中有一个公共方法,例如,
setButtoAction(按钮btn)

并在活动中将myClickListener声明为变量


同样的想法,没有活动来实现clickLitener

…没有工具还有其他方法可以实现吗?我做了一点修改:((GameActivity)getActivity()).setButtonAction(view.findViewById(R.id.button1));在片段和我做的活动中:public void setButtonAction(视图){Button btn=(Button)视图;btn.setOnClickListener(onButtonClick);}在将按钮传递给setButtonAction时,您已经查找了按钮,不必在方法内部再次使用findViewById
public void setButtonAction(Button btn) {
     btn.setOnClickListener(myClickListener);
}