Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

android

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
like image 268
Eduard Luca Avatar asked Jan 31 '26 18:01

Eduard Luca


2 Answers

Just try out this way :

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

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

like image 159
GrIsHu Avatar answered Feb 02 '26 09:02

GrIsHu


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

like image 31
Aiden Fry Avatar answered Feb 02 '26 09:02

Aiden Fry