如何在Android应用程序中创建具有单选列表项的警报对话框,该项取决于文本文件



在我的应用程序中,我实际上可以更改当前的CPU调控器、处理器的最大和最小频率,但现在我希望能够创建自定义配置文件。为此,我必须显示内核提供的可用频率和调控器(信息在/sys/devices/system/cpu/cpu/0/cpufreq/scaling_available frequencies和scaling_available _gregor中给出)。

但我被警报对话框卡住了。我真的不知道如何创建一个显示整个文本文件的文件,在一行中每一个频率显示一个频率,可以选择并写入适当的文件中,以更改最小、最大频率或调速器!

我不确定我是否理解你的问题,但要将AlertDialog显示为多选,请使用以下选项:

@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
    super.onCreateDialog(savedInstanceState);
    String[]  groups = mGroupNames;
    boolean[] selected = mGroupIsSelected;
    return new AlertDialog.Builder(getActivity())
    .setTitle("title")
    .setMultiChoiceItems(mGroupNames, mGroupIsSelected,new DialogInterface.OnMultiChoiceClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
            mGroups.get(which).setSelected(isChecked);
        }
    })
    .setPositiveButton( android.R.string.ok,
            new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            sendResult(Activity.RESULT_OK);
        }
    })
    .create();
}

你的班级必须扩展

extends DialogFragment

指示

.setMultiChoiceItems(mGroupNames, mGroupIsSelected,new DialogInterface.OnMultiChoiceClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
        mGroups.get(which).setSelected(isChecked);
    }
})

使用

.setItems(mGroupNames, null)

其中mGroupNames是要向用户显示的字符串

最新更新