0

我有一个困扰我的问题。我创建了一个字符串数组,strings.xml其中称为bookmark_titles. 我想将它用于我的警报对话框并使用它们填充一个列表,但是我看不到我的数组的名称R.array,它只有那些内置在 android 中的,例如 PhoneTypes。如何引用我的数组?

strings.xml

<string name="app_name">Dialogs</string>
<string name="action_settings">Settings</string>

<string-array name="bookmark_titles">
    <item>Google</item>
    <item>Bing</item>
    <item>Gmail</item>
</string-array>

</resources>

FireMissilesDialogFragment

public class FireMissilesDialogFragment extends DialogFragment{

public Dialog onCreateDialog(Bundle savedInstanceState) {
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setTitle("Books are :");
               .setItems(R.array., new DialogInterface.OnClickListener() {   ---> can't see reference here
                   public void onClick(DialogInterface dialog, int which) {
                   // The 'which' argument contains the index position
                   // of the selected item
               }
        });
        return builder.create();

    }
4

3 回答 3

1

文件setItems()说明:

这应该是一个数组类型,即 R.array.foo

使用 anarray代替string-array

<string name="bookmark_google">Google</string>
<string name="bookmark_bing">Bing</string>
<string name="bookmark_yahoo">Yahoo</string>

<array name="pref_values_sort_list">
    <item>@string/bookmark_google</item>
    <item>@string/bookmark_bing</item>
    <item>@string/bookmark_yahoo</item>
</array>
于 2013-07-24T11:21:12.700 回答
1

尝试“数组”:

<array name="bookmark_titles">
<item>Google</item>
<item>Bing</item>
</array>
于 2013-07-24T11:12:51.760 回答
0

解决了这个问题。

我不得不删除 import.android.R,在它之后,它起作用了!多谢你们

于 2013-07-24T11:30:07.950 回答