R. 没有给我一个数组选项

Aar*_*ron 2 java xml android

我是安卓开发的新手。我试图让我的string.xml文件添加字符串,而不是在文件中对字符串进行硬编码.java

我正在使用这个android 开发者教程并复制并粘贴代码以确保没有错别字。

我遇到的问题是当我输入时R.array没有显示为选项。我不太确定出了什么问题。这是Java代码。我已经//给我带来了麻烦:

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class HelloListActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String[] countries = getResources().getStringArray(R.array.countries_array);
        //The R. does not offer array as an option
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));

        ListView lv =getListView();
        lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener(){
            public void onItemClick(AdapterView<?>parent, View view,
                    int posistion, long id){

            Toast.makeText(getApplicationContext(), ((TextView)view).getText(),
                    Toast.LENGTH_SHORT).show();
            }
        });

    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的strings.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="countries_array">
        <item>Bahrain</item>
        <item>Bangladesh</item>
        <item>Barbados</item>
        <item>Belarus</item>
        <item>Belgium</item>
        <item>Belize</item>
        <item>Benin</item>
    </string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

小智 15

只是关闭项目并重新打开它对我有用,列表选项中出现了数组标识符。

  • 我在这个问题上花了很多时间。旧的+1将其关闭并重新打开。有效。 (4认同)

小智 6

转到Project -> Clean然后重建。R.java 没有保存您刚刚添加的资源。编辑:还要确保import YourPackage.ProjectName.R;