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