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