我需要在Preference Fragment Layout中添加一个按钮。我可以成功地在Preferences布局中获取按钮,但是我无法捕获它被点击的事件。
所有其他首选项都在onSharedPreferenceChanged回调中捕获,但按钮单击不是。
将回调添加到按钮的最佳方法是什么,或者让它在onSharedPreferenceChanged回调中返回它的值?
我已经尝试过几乎所有可以在Stackoverflow上找到的示例,但大多数都考虑了preferenceActivity,而不是片段。
我试过的一个解决方案确实触发了一个回调事件,但只有当回调发生在主机Activity中时才会发生!
片段特定的帮助对此表示赞赏。
答案 0 :(得分:0)
这应该适用于您的片段:
Button prefBtn = ((Button) view.findViewById(R.id.prefBtn));
prefBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
// Your code here
}
});
修改强>
在片段布局中你也需要这样的东西:
<Button
android:id="@+id/prefBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>