我正在使用 PreferenceScreen xml 创建 PreferenceActivity。我想在单击 CheckBoxPreference 的标签(标题)时打开一个新的首选项屏幕,当用户单击此 CheckBoxPreference 的复选框时,正常的首选项功能将起作用。 那我该怎么做呢?
例如:在 android 中更改用户配置文件(通过单击单选按钮)并更改其属性(通过单击此单选按钮的标签)
最佳答案
我认为使用默认首选项很难做到。但是您可以尝试扩展原始的 onBindView
方法,根据文档:这是在布局中获取对自定义 View 的引用并在其上设置属性的好地方。
因此,这是 CheckBoxPreference
的示例可点击文本。
public class MyCheckBoxPreference extends CheckBoxPreference {
static final String TAG = "MyCheckBoxPreference";
public MyCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyCheckBoxPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyCheckBoxPreference(Context context) {
super(context);
}
@Override
protected void onBindView(View v) {
super.onBindView(v);
((ViewGroup) v).getChildAt(1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "onClick " + getKey());
}
});
}
}
关于android - 在 CheckBoxPreference 中分别点击 Text 和 Checkbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14950037/