如何处理onClick-in片段[重复]

这个问题在这里已经有答案了
Android应用程序崩溃(片段和xml onclick)

(五个答案)

五年前关闭的

这是我第一次尝试碎片,我无法处理android:onClick

我在片段XML中有一个按钮,如下所示

<按钮
android:layout\u width=“匹配父项”
android:layout\u height=“包装内容”
android:text=“@string/save_关键字_按钮”
android:id=“@+id/save_关键字”
android:layout_marginTop=“340dp”
android:background=“#FF2E7D32”
android:textColor=“#FFFFFF”
android:typeface=“正常”
android:onClick=“myLogic”/>

我搜索了许多结果,但无法得到处理onClick事件的确切解决方案

我的问题是,如何获取按钮的ID并编写myLogic方法。
FindViewById()在片段中不起作用,我应该在哪里编写该方法?
在片段中还是在我的活动中

更好的方法是在片段类中实现OnClickListener,并在片段中重写onCreateView,将侦听器分配给按钮

通过在XML布局中放置onClick属性,加载的活动将在活动中查找元素,而不是在片段中。这将引发异常

我建议阅读一些片段活动层次结构,以了解何时可以访问片段中的元素

公共类StartFragment扩展片段实现OnClickListener{
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.layout.fragment\u开始,容器,错误);
按钮b=(按钮)v.findViewById(R.id.save_关键字);
b、 setOnClickListener(此);
返回v;
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
案例R.id.save_关键字:

打破
}
}
}

参考人:这里

发表评论