引用字符串数组

时间:2013-07-24 11:02:10

标签: android string

我有一个困扰我的问题。我在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();

    }

3 个答案:

答案 0 :(得分:1)

尝试“数组”:

<array name="bookmark_titles">
<item>Google</item>
<item>Bing</item>
</array>

答案 1 :(得分:0)

setItems()的文档声明:

  

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

使用array代替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>

答案 2 :(得分:0)

解决了这个问题。

我不得不删除import.android.R,之后,它工作了!谢谢你们