Android 微调器侦听器不工作
我的应用程序中有一个微调器,当单击某个项目时,它不起作用。我得到了值,但是if条件没有得到处理Android 微调器侦听器不工作,android,spinner,android-spinner,onclicklistener,onitemclicklistener,Android,Spinner,Android Spinner,Onclicklistener,Onitemclicklistener,我的应用程序中有一个微调器,当单击某个项目时,它不起作用。我得到了值,但是if条件没有得到处理 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { Object ite
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Object item = parent.getItemAtPosition(pos);
String Text = effecttwo.getSelectedItem().toString();
System.out.println("spinner is -"+item+"-");
// I get the correct values in System.out.println
if(Text=="Hue"){
// not entering into this condition or any other condition
}else if(Text=="Saturation"){
}else if(Text=="Brightness"){
}else{
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共位置(AdapterView父项、视图、整数位置、长id){
对象项=父项。getItemAtPosition(pos);
String Text=effecttwo.getSelectedItem().toString();
System.out.println(“微调器为-”+项+“-”);
//我在System.out.println中得到了正确的值
如果(文本=“色调”){
//未进入本条件或任何其他条件
}else if(文本=“饱和度”){
}else if(文本=“亮度”){
}否则{
}
}
未选择公共无效(AdapterView父级){
}
});
请告诉我我做错了什么
I get the values but the if condition is not getting worked.
if(Text==“色调”){
错
使用.equals
或.equalsIgnoreCase
比较字符串
if(Text==“色调”){
错
使用.equals
或.equalsIgnoreCase
比较字符串
您不能将字符串与
=
进行比较。请使用以下方法:
if(text.equals("Hue"))
{
}
所以你的代码是这样的:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Object item = parent.getItemAtPosition(pos);
String Text = effecttwo.getSelectedItem().toString();
System.out.println("spinner is -"+item+"-");
// I get the correct values in System.out.println
if(text.equals("Hue")){
// not entering into this condition or any other condition
}else if(text.equals("Saturation")){
}else if(text.equals("Brightness")){
}else{
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共位置(AdapterView父项、视图、整数位置、长id){
对象项=父项。getItemAtPosition(pos);
String Text=effecttwo.getSelectedItem().toString();
System.out.println(“微调器为-”+项+“-”);
//我在System.out.println中得到了正确的值
if(文本等于(“色调”)){
//未进入本条件或任何其他条件
}else if(文本等于(“饱和度”)){
}else if(文本等于(“亮度”)){
}否则{
}
}
未选择公共无效(AdapterView父级){
}
});
您不能将字符串与=
进行比较。请使用以下方法:
if(text.equals("Hue"))
{
}
所以你的代码是这样的:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Object item = parent.getItemAtPosition(pos);
String Text = effecttwo.getSelectedItem().toString();
System.out.println("spinner is -"+item+"-");
// I get the correct values in System.out.println
if(text.equals("Hue")){
// not entering into this condition or any other condition
}else if(text.equals("Saturation")){
}else if(text.equals("Brightness")){
}else{
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共位置(AdapterView父项、视图、整数位置、长id){
对象项=父项。getItemAtPosition(pos);
String Text=effecttwo.getSelectedItem().toString();
System.out.println(“微调器为-”+项+“-”);
//我在System.out.println中得到了正确的值
if(文本等于(“色调”)){
//未进入本条件或任何其他条件
}else if(文本等于(“饱和度”)){
}else if(文本等于(“亮度”)){
}否则{
}
}
未选择公共无效(AdapterView父级){
}
});
不要在匿名类中执行侦听器
使用
spinner.setOnItemSelectedListener(this)
执行此操作,并将实现AdapterView.OnItemSelectedListener
放在片段或活动之后。不要在匿名类中执行侦听器
使用spinner.setOnItemSelectedListener(this)
执行此操作,并将实现AdapterView.OnItemSelectedListener
放在片段或活动之后