偏好片段中的按钮

时间:2017-02-01 13:55:32

标签: java android android-fragments

我需要在Preference Fragment Layout中添加一个按钮。我可以成功地在Preferences布局中获取按钮,但是我无法捕获它被点击的事件。

所有其他首选项都在onSharedPreferenceChanged回调中捕获,但按钮单击不是。

将回调添加到按钮的最佳方法是什么,或者让它在onSharedPreferenceChanged回调中返回它的值?

我已经尝试过几乎所有可以在Stackoverflow上找到的示例,但大多数都考虑了preferenceActivity,而不是片段。

我试过的一个解决方案确实触发了一个回调事件,但只有当回调发生在主机Activity中时才会发生!

片段特定的帮助对此表示赞赏。

1 个答案:

答案 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"/>