Android 在“值”文件夹中找不到符号变量

Android 在“值”文件夹中找不到符号变量,android,android-layout,Android,Android Layout,我试图使用在名为values es的文件夹中创建的字符串数组变量,但是当我尝试调用它时,它会显示找不到符号变量myStrings2。我不知道为什么它不起作用,因为我所做的只是将所有内容从my strings.xml复制到my strings.xml es版本,并更改了数组名称 我试图从xml文件中使用myStrings和myStrings2,因此根据系统语言的不同,它将显示适当的语言 我在两个不同的文件中使用了它们,getElementFromColors函数中的ColorAdapter和onC

我试图使用在名为values es的文件夹中创建的字符串数组变量,但是当我尝试调用它时,它会显示找不到符号变量myStrings2。我不知道为什么它不起作用,因为我所做的只是将所有内容从my strings.xml复制到my strings.xml es版本,并更改了数组名称

我试图从xml文件中使用myStrings和myStrings2,因此根据系统语言的不同,它将显示适当的语言

我在两个不同的文件中使用了它们,getElementFromColors函数中的ColorAdapter和onCreate中的PaletteActivity,并在这两个文件上收到了错误消息

颜色适配器

strings.xml,来自values文件夹

strings.xml

colors.xml

固定的:

通过执行以下操作解决:

1.将项目模式更改为Android模式

2.右键单击“值”文件夹

3.将名为strings的文件命名为

4.选择区域设置作为限定符

5.选择语言

6.单击“确定”

7.在翻译xml中输入任何内容

它应该将这两个strings.xml文件放在strings文件夹中。与strings.xml相比,当strings.xml es不在单独的文件夹中时,我发现它可以工作。请更改它

 if(CurrentLang=="es")
对它


你重新启动了你的应用程序吗?注意:您不需要分离两个变量字符串数组。从values es文件夹中设置string.xml中字符串资源的名称values文件夹中的相同string.xml。当您在设置中更改语言时,Android系统将自动检测使用和使用正确资源的语言设备。这次没有错误,但当我在系统设置中更改文本时,下拉微调器不会将文本从英语更改为西班牙语。我刚刚为textview创建了简单的应用程序支持英语和西班牙语,选中此选项,您将知道如何更新应用程序:
package edu.temple.coloractivity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.media.session.PlaybackState;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.util.ArrayList;
import java.util.Locale;


public class PaletteActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String CurrentLang = Locale.getDefault().getLanguage();
        setTitle("Palette Activity");
        final Spinner spinner = findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.myColors, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);
        if(CurrentLang=="es"){
            ArrayAdapter<CharSequence> stringNames = ArrayAdapter.createFromResource(this,R.array.myStrings2, android.R.layout.simple_spinner_item);
            stringNames.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        }else{
            ArrayAdapter<CharSequence> stringNames = ArrayAdapter.createFromResource(this,R.array.myStrings, android.R.layout.simple_spinner_item);
            stringNames.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        }


        spinner.setAdapter(new ColorAdapter(this));

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                if(position == 0){
                    view.setBackgroundResource(R.color.white);
                }
                else if(position == 1){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",1);
                    PaletteActivity.this.startActivity(i);
                }else if(position == 2){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",2);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 3){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",3);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 4){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",4);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 5){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",5);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 6){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",6);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 7){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",7);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 8){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",8);
                    PaletteActivity.this.startActivity(i);

                }else if(position == 9){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",9);
                    PaletteActivity.this.startActivity(i);
                }else if(position == 10){
                    view.setBackgroundResource(R.color.white);
                    Intent i = new Intent(PaletteActivity.this, CanvasActivity.class);
                    i.putExtra("position",10);
                    PaletteActivity.this.startActivity(i);
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }

}
package edu.temple.coloractivity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Locale;

public class CanvasActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_canvas);

        String CurrentLang = Locale.getDefault().getLanguage();
        TextView text = findViewById(R.id.newColor);

        final View newBackground;
        newBackground = this.getWindow().getDecorView();
        System.out.println(Locale.getDefault().getLanguage());


        Intent i = getIntent();
         int pos = i.getIntExtra("position",0);


                if(pos == 1){
                    newBackground.setBackgroundResource(R.color.silver);
                    if(CurrentLang=="es"){
                        text.setText("Plata");
                    }
                    else{
                        text.setText("Silver");
                    }

                }else if(pos == 2){
                    newBackground.setBackgroundResource(R.color.pink);
                    if(CurrentLang=="es"){
                        text.setText("Rosado");
                    }
                    else{
                        text.setText("Pink");
                    }
                }else if(pos == 3){
                    newBackground.setBackgroundResource(R.color.red);
                    if(CurrentLang=="es"){
                        text.setText("Rojo");
                    }
                    else{
                        text.setText("Red");
                    }
                }else if(pos == 4){
                    newBackground.setBackgroundResource(R.color.orange);
                    if(CurrentLang=="es"){
                        text.setText("Naranja");
                    }
                    else{
                        text.setText("Orange");
                    }
                }else if(pos == 5){
                    newBackground.setBackgroundResource(R.color.yellow);
                    if(CurrentLang=="es"){
                        text.setText("Amarillo");
                    }
                    else{
                        text.setText("Yellow");
                    }
                }else if(pos == 6){
                    newBackground.setBackgroundResource(R.color.green);
                    if(CurrentLang=="es"){
                        text.setText("Verde");
                    }
                    else{
                        text.setText("Green");
                    }
                }else if(pos == 7){
                    newBackground.setBackgroundResource(R.color.blue);
                    if(CurrentLang=="es"){
                        text.setText("Azul");
                    }
                    else{
                        text.setText("Blue");
                    }
                }else if(pos == 8){
                    newBackground.setBackgroundResource(R.color.indigo);
                    if(CurrentLang=="es"){
                        text.setText("índigo");
                    }
                    else{
                        text.setText("Indigo");
                    }
                }else if(pos == 9){
                    newBackground.setBackgroundResource(R.color.violet);
                    if(CurrentLang=="es"){
                        text.setText("Violeta");
                    }
                    else{
                        text.setText("Violet");
                    }
                }else if(pos == 10){
                    newBackground.setBackgroundResource(R.color.brown);
                    if(CurrentLang=="es"){
                        text.setText("Marrón");
                    }
                    else{
                        text.setText("Brown");
                    }
                }
        }


}
<resources>
    <string name="app_name">Color Activity</string>
    <string name="Color">Color</string>
    <string-array name="myStrings2">
            <item>Selecciona un color</item>
            <item>Plata</item>
            <item>Rosado</item>
            <item>Rojo</item>
            <item>Naranja</item>
            <item>Amarillo</item>
            <item>Verde</item>
            <item>Azul</item>
            <item>Índigo</item>
            <item>Violeta</item>
            <item>Marrón</item>
    </string-array>
</resources>
<resources>
    <string name="app_name">Color Activity</string>
    <string name="Color">Color</string>
    <string-array name="myStrings">
        <item>Select a color</item>
        <item>Silver</item>
        <item>Pink</item>
        <item>Red</item>
        <item>Orange</item>
        <item>Yellow</item>
        <item>Green</item>
        <item>Blue</item>
        <item>Indigo</item>
        <item>Violet</item>
        <item>Brown</item>
    </string-array>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>


    <color name="silver" type="color">#c0c0c0</color>
    <color name="pink" type="color">#ffc0cb</color>
    <color name="red" type="color">#ff0000</color>
    <color name="orange" type="color">#ffa500</color>
    <color name="yellow" type="color">#ffff00</color>
    <color name="green" type="color">#00ff00</color>
    <color name="blue" type="color">#0000ff</color>
    <color name="indigo" type="color">#4b0082</color>
    <color name="violet" type="color">#7f00ff</color>
    <color name="brown" type="color">#654321</color>
    <color name="white" type="color">#FFFFFF</color>
    <integer-array name="myColors">
        <item>@color/white</item>
        <item>@color/silver</item>
        <item>@color/pink</item>
        <item>@color/red</item>
        <item>@color/orange</item>
        <item>@color/yellow</item>
        <item>@color/green</item>
        <item>@color/blue</item>
        <item>@color/indigo</item>
        <item>@color/violet</item>
        <item>@color/brown</item>
    </integer-array>



</resources>
 if(CurrentLang=="es")
 if(CurrentLang.equals("es"))