android dialogpreference
时间: 2023-12-16 13:06:06 浏览: 71
android dialog 对话框
Android 中的 DialogPreference 是一个可交互的偏好设置,它弹出一个对话框,让用户进行设置。这个对话框可以包含各种控件,比如单选按钮、复选框、文本输入框等等。
使用 DialogPreference 需要继承它并实现其中的几个方法:
1. onCreateDialogView():创建对话框中的视图,即对话框的布局。
2. onBindDialogView(View view):将当前偏好设置的值绑定到对话框中的控件上,以便用户查看和修改。
3. onDialogClosed(boolean positiveResult):当对话框关闭时会调用此方法,可以在这里获取用户设置的值并保存到 SharedPreferences 中。
以下是一个简单的示例:
```java
public class MyDialogPreference extends DialogPreference {
private EditText mEditText;
public MyDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected View onCreateDialogView() {
mEditText = new EditText(getContext());
return mEditText;
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
mEditText.setText(getSharedPreferences().getString(getKey(), ""));
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
if (positiveResult) {
String value = mEditText.getText().toString();
if (callChangeListener(value)) {
persistString(value);
}
}
}
}
```
在 XML 中使用 DialogPreference:
```xml
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<com.example.MyDialogPreference
android:key="my_key"
android:title="My Title"
android:summary="My Summary" />
</PreferenceScreen>
```
这样就可以在设置界面中显示一个可交互的对话框了。
阅读全文