Android 列表对话框片段-未找到资源异常
我试图通过使用“which”变量来查看选择了哪个项目,但我得到了这个例外。 这是我的片段对话框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
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();
}