简体   繁体   中英

Android [string array] cannot be resolved or is not a field

I'm getting an error about a string array (located in strings.xml ) not being able to be resolved.

I've done everything the internet says:

  1. Restarted Eclipse
  2. Deleted my R.java file inside the gen folder
  3. My values folder is still inside the res folder, not moved
  4. None of my XML files have erros
  5. Ran Project -> Clean
  6. I don't have android.R imported in my class.
  7. Checked the R.java class, it indeed doesn't have an app_categories property (my array's name)

The relevant part of the XML:

<string-array name="app_categories">
    <item >Cat 1</item>
    <item >Cat 2</item>
    <item >Cat 3</item>
    <item >Cat 4</item>
    <item >Cat 5</item>
    <item >Cat 6</item>
    <item >Cat 7</item>
    <item >Cat 8</item>
    <item >Cat 9</item>
</string-array>

The Java code:

String[] categoryNames = getResources().getStringArray(R.string.app_categories);

All my other strings are visible. I have another array defined just like this one, and that one isn't visible either.

Exact error below:

app_categories cannot be resolved or is not a field [class_name].java   [path]  line 45 Java Problem

Just try out this way :

  getResources().getString(R.array.app_categories_list); 

Instead of R.string use R.array you will get your arraylist.

Don't put your string arrays in strings.xml You must create a new file called arrays.xml and place them there. And when calling you need R.arrays.myarray, not R.strings.MyArray

清理项目后,尝试通过从命令行运行adb kill-server和adb start-server来重新启动adb服务器

a solution may be to create the R manually:

just hover over the error in the activity file where the problem was and then manually create it, which will cause R to generate the string array you created in strings.xml

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM