我有一个简单的警报对话框,如下所示,使用一个简单的字符串数组(a)。我想用更复杂的字符串数组 (b) 替换 (a),但是当对话框尝试解析视图时,我收到空指针异常。
这是可能的还是我做错了什么?
(一)
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>
第二个 xml 将导致 AlertDialog 崩溃并出现 NullPointerException。
我是否犯了错误,或者没有自定义视图的警报对话框无法做到这一点?
好点,但不可能!为此,您必须维护包含您希望作为静态数据的所有信息/关系的 xml 文件,并且在语法上您必须解析文件并提取信息。其他可能的方法是SQLite,但我不建议您尝试这样做,因为如果您不打算执行CRUD操作,则维护表没有任何意义。