[英]how can i save the multichoice state in an alertdialog?
我有一个代码,我在其中创建了一个方法来显示一个带有多选选项的对话框,但是当检查并单击“确定”按钮时,状态没有保存我该怎么做? 我看到了一些带有共享首选项的东西,但我无法在我的代码中实现它,有人可以帮我吗?
public View onCreateView(final LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_inseticida, container, false);
gps = view.findViewById(R.id.imageButton);
gps.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showAlertDialog();
}
});
private void showAlertDialog (){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Habilitar GPS");
String[] Gps = new String[]{
"Habilitar GPS",
};
// Boolean array for initial selected items
final boolean[] checkedgps = new boolean[]{
true, // GPS
};
// Convert the color array to list
final List<String> gpsList = Arrays.asList(Gps);
builder.setMultiChoiceItems(Gps, checkedgps, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
checkedgps[i] = b;
String CurrentItem = gpsList.get(i);
Toast.makeText(getActivity(),CurrentItem + " " + b,Toast.LENGTH_SHORT).show();
}
});
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
AlertDialog dialog = builder.create();
// Display the alert dialog on interface
dialog.show();
}
检查这个SO 答案。
最初使用loadArray
在final boolean[] checkedgps
中检索数据,并在public void onClick(...)
中按下时使用storeArray
保存数据
使用 sharedpreferences 检查 Android 文档上的SharedPreferences将多项选择 state 保存在警报对话框中。 最好使用MaterialAlertDialogBuilder
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.