使用复杂的字符串数组资源设置警报对话框



我有一个简单的警报对话框,如下所示,使用一个简单的字符串数组(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操作,则维护表没有任何意义。

最新更新