Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用微调器中的变量通过按钮确定操作_Java_Android - Fatal编程技术网

Java 使用微调器中的变量通过按钮确定操作

Java 使用微调器中的变量通过按钮确定操作,java,android,Java,Android,在我的程序中,我有两个微调器:一个显示3个数字的列表(作为字符串:1、2和3),另一个显示国家列表:美国、加拿大、墨西哥和巴西。我还有一个按钮,当点击它时,它会转到android studio中的另一个活动/屏幕 我的问题是,如何使用微调器返回的变量转到android studio中的其他活动 以下是我所知道的事情: 微调器中的变量“存在”并且可以使用;我试图显示它们,而TextView显示它们。以下是初始化微调器的代码: //INIT SPINNER 1 Spinner spinner = f

在我的程序中,我有两个微调器:一个显示3个数字的列表(作为字符串:1、2和3),另一个显示国家列表:美国、加拿大、墨西哥和巴西。我还有一个
按钮
,当点击它时,它会转到android studio中的另一个活动/屏幕

我的问题是,如何使用微调器返回的变量转到android studio中的其他活动

以下是我所知道的事情:

微调器中的变量“存在”并且可以使用;我试图显示它们,而
TextView
显示它们。以下是初始化微调器的代码:

//INIT SPINNER 1
Spinner spinner = findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.numbers, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);

// INIT SPINNER 2
Spinner countries = findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.countries, android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
countries.setAdapter(adapter2);
countries.setOnItemSelectedListener(this);
该按钮在没有任何与微调器变量相关的条件语句的情况下使用时,将打开一个新的活动。这是默认情况下仅打开新活动的代码:

//BUTTON INIT
button = (Button) findViewById(R.id.open_india);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        openIndia();
    }
});
此外,当使用简单的条件时,例如

if(4-3 == 1){
   startActivity(intent);
}
代码工作得很好,当我单击emulator上的按钮时,我转到另一个活动/屏幕

我的问题是,如何使用微调器返回的变量来确定是否转到其他活动/屏幕?我有它的代码,但出于某种原因,按钮只是决定不去下一个活动

变量设置为
VARIABLE.toString()
,因此我知道变量是一个字符串,因此可以将其与另一个字符串进行比较

String text2 = countries.getSelectedItem().toString();
if(text2 == "India"){
    startActivity(intent);
} 

有人能解释一下这个问题吗?

将条件更改为:

if(text2.equals("India")){
    startActivity(intent);
}

将条件更改为:

if(text2.equals("India")){
    startActivity(intent);
}

您不使用
spinner.getSelectedItem()。ToString()

而不是这个

spinner.getSelectedItemPosition()

spinner.getSelectedItemId()

用这个

public static final Int INDIA_CODE = 1;
int itemPos = countries.getSelectedItemPosition();
int itemId = countries.getSelectedItemId();
if(itemId == INDIA_CODE) {
    startActivity(intent);
}

您不使用
spinner.getSelectedItem()。ToString()

而不是这个

spinner.getSelectedItemPosition()

spinner.getSelectedItemId()

用这个

public static final Int INDIA_CODE = 1;
int itemPos = countries.getSelectedItemPosition();
int itemId = countries.getSelectedItemId();
if(itemId == INDIA_CODE) {
    startActivity(intent);
}

使用
equals
而不是
=
运算符比较字符串。使用
equals
而不是
=
运算符比较字符串。