我在尝试在一个继承自DialogPreference类的类中运行半径NumberPicker,但是我很难让setView()函数工作。下面是一些代码:
public class RadiusPickerPreference extends DialogPreference{
public RadiusPickerPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder builder) {
builder.setTitle(R.string.set_radius_dialog_fragment_title);
builder.setView(R.layout.dialog_radius_picker);
builder.setPositiveButton(android.R.string.ok, null);
builder.setNegativeButton(android.R.string.cancel, null);
}
}
这让我在builder.setView上出现了一个错误,显示“调用需要API 21(当前最小值为15)”。我想支持API 15+的设备,因此更改这个选项不是一个选择。如果我尝试覆盖
protected void onPrepareDialogBuilder(android.support.v7.app.AlertDialog.Builder builder)
它会显示“该方法未覆盖其超类的方法”。问题是,我如何设置视图?只要支持API 15+即可,它不一定要在onPrepareDialogBuilder()中。谢谢!
PS:如果您需要更多代码,请告诉我。要在XML中显示它,请将其添加到中。
<com.example.project.RadiusPickerPreference
android:id="@+id/radPickerPref"
android:key="@string/pref_key_default_radius"
android:title="@string/pref_title_default_radius"/>