Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 列表对话框片段-未找到资源异常_Android_Android Layout_Android Widget - Fatal编程技术网

Android 列表对话框片段-未找到资源异常

Android 列表对话框片段-未找到资源异常,android,android-layout,android-widget,Android,Android Layout,Android Widget,我试图通过使用“which”变量来查看选择了哪个项目,但我得到了这个例外。 这是我的片段对话框 public class ItemSettingsDialogFragment extends DialogFragment{ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builde

我试图通过使用“which”变量来查看选择了哪个项目,但我得到了这个例外。 这是我的片段对话框

public class ItemSettingsDialogFragment extends DialogFragment{

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

        builder.setTitle(R.string.title_settings).setItems(R.array.item_settings_settings, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {


                Toast.makeText(getApplication(), which, Toast.LENGTH_SHORT).show();

            }
        });

        return builder.create();
    }

}
这是数组

<string-array name="item_settings_settings">
    <item>One</item>
    <item>Two</item>
    <item>Three</item>
    <item>Four</item>
</string-array>

DialogFragment newFragment = new ItemSettingsDialogFragment();
            newFragment.show(getSupportFragmentManager(), "items_settings");
如果有人知道怎么了。。我不明白怎么了。。请帮忙

谢谢,
弗拉基米尔

试试这个代码。添加代码后,清理项目以确保一切正常

String[] items = getResources().getStringArray(R.array.item_settings_settings);

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    builder.setTitle(R.string.title_settings).setItems(items, new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {


            Toast.makeText(getApplication(), which, Toast.LENGTH_SHORT).show();

        }
    });

我已经删除了toast消息,并使用Log来编写消息,它成功了,没有其他异常。我想有人知道为什么

调用dialog.disclose();敬酒前

            @Override
            public void onClick(DialogInterface dialog, int which) {
                  dialog.dismiss();

                Toast.makeText(getApplication(), which, Toast.LENGTH_SHORT).show();

            }

希望它能工作。

字符串数组在哪里?它在res/values/array.xml文件中吗?它在res/values/strings.xml文件中。在values文件夹中创建一个名为arrays.xml的新文件。然后使用上面的代码,它应该适合您。仍然一样…:\我不明白是的,这是答案,但我已经用另一种方式找到了答案。无论如何,谢谢你。。
            @Override
            public void onClick(DialogInterface dialog, int which) {
                  dialog.dismiss();

                Toast.makeText(getApplication(), which, Toast.LENGTH_SHORT).show();

            }