Android 使用复杂字符串数组资源设置AlertDialog
我有一个简单的警报对话框,如下所示,使用一个简单的字符串数组(a)。我想用更复杂的字符串数组(b)替换(a),但是当对话框试图解析视图时,我得到了一个空指针异常 这是可能的还是我做错了什么 (a)Android 使用复杂字符串数组资源设置AlertDialog,android,android-alertdialog,arrays,Android,Android Alertdialog,Arrays,我有一个简单的警报对话框,如下所示,使用一个简单的字符串数组(a)。我想用更复杂的字符串数组(b)替换(a),但是当对话框试图解析视图时,我得到了一个空指针异常 这是可能的还是我做错了什么 (a) AlertDialog代码: final AlertDialog.Builder dialog=new AlertDialog.Builder(new ContextThemeWrapper(ctx,R.style.mytheme)); 对话框。设置标题(标题); 对话框.setIcon(R.draw
AlertDialog代码:
final AlertDialog.Builder dialog=new AlertDialog.Builder(new ContextThemeWrapper(ctx,R.style.mytheme));
对话框。设置标题(标题);
对话框.setIcon(R.drawable.ic_启动器);
setSingleChoiceItems(R.array.array\u items,-1,itemSelectedListener);
final AlertDialog AlertDialog=dialog.create();
array_items.xml:
方案a
方案b
(b)
array\u items\u 2.xml:
@array/array_items.xml
@array/array_items.xml
第二个xml将导致AlertDialog因NullPointerException而崩溃
我是否犯了错误,或者在没有自定义视图的情况下,AlertDialog不可能这样做?很好,但不可能!为此,您必须维护xml文件,其中包含您想要作为静态数据的所有信息/关系,并且在语法上您必须解析该文件并提取信息。其他可能的方法是SQLite,但我不建议您尝试,因为如果您不打算执行CRUD操作,维护表没有任何意义大概吧
AlertDialog Code:
final AlertDialog.Builder dialog = new AlertDialog.Builder(new ContextThemeWrapper(ctx, R.style.mytheme));
dialog.setTitle(title);
dialog.setIcon(R.drawable.ic_launcher);
dialog.setSingleChoiceItems(R.array.array_items, -1, itemSelectedListener);
final AlertDialog alertDialog = dialog.create();
array_items.xml:
<string-array name="array_items">
<item>option a</item>
<item>option b</item>
</string-array>
array_items_2.xml:
<string-array name="array_items_2">
<item>@array/array_items.xml</item>
<item>@array/array_items.xml</item>
</string-array>