Android 如果字符串**==不工作,则微调器

Android 如果字符串**==不工作,则微调器,android,Android,为什么这不起作用 if(itemx == "Test number item 0") { Log.i("Dropdown", "inside if"); us_lo_ans_hold.setText("0x"); }; 如果itemx是一个字符串,并且它具有字符串“Test number item 0” 我正在创建我的第一个微调器 以下是活动的onCreate块中的微调器代码: Spinner us_lo_spinner = (Spinner) fin

为什么这不起作用

if(itemx == "Test number item 0")
    {
    Log.i("Dropdown", "inside if");
    us_lo_ans_hold.setText("0x");
    }; 
如果itemx是一个字符串,并且它具有字符串“Test number item 0”

我正在创建我的第一个微调器

以下是活动的onCreate块中的微调器代码:

    Spinner us_lo_spinner = (Spinner) findViewById(R.id.ul_ans_spinner); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.test_defaults , android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    us_lo_spinner.setAdapter(adapter); 

 // Spinner click listener 
us_lo_spinner.setOnItemSelectedListener(this);
它将起作用;但那不是我想要的

所以。。。为什么这不起作用

if(itemx == "Test number item 0")
    {
    Log.i("Dropdown", "inside if");
    us_lo_ans_hold.setText("0x");
    }; 
如果itemx是一个字符串,并且它具有字符串“Test number item 0”


“onNothingSelected”将如何或何时调用? 当你按下后退按钮时? 当您选择已选择的项目时? 我的“无选择”从未被调用

public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
    Log.i("Dropdown", "in NOTHING SELECTED");
    TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
    us_lo_ans_hold.setText("nothing selected");
}
但~compiler~确实如此


所以。。。如何或何时调用“onNothingSelected”以及如何将其连接到微调器?

如果您的
itemx
是一个变量,则无法使用
=
比较两个字符串。改为使用
items.equals(“测试编号项目0”)

=
比较对象和
equals()
比较字符串值。
看看这个。

如果您的
itemx
是一个变量,那么您不能用
=
比较两个字符串。改为使用
items.equals(“测试编号项目0”)

=
比较对象和
equals()
比较字符串值。
看看这个。

不要将字符串与==进行比较,使用等于:

if(itemx.equals("Test item 0")){...

至于onNothingSelected,例如,如果您从适配器中删除所选项,则会调用它。

切勿将字符串与==进行比较,请使用等于:

if(itemx.equals("Test item 0")){...

至于onNothingSelected,例如,如果您从适配器中删除所选项目,则会调用它。

U应该使用itemx.equals(“测试编号项目0”)而不是==运算符…因为我开始回答问题。。。在Java中,有多少关于字符串比较的问题被问到,这真是可笑。请仔细阅读您的基本Java知识:-为什么==对字符串不起作用。您应该使用itemx.equals(“测试编号项0”)而不是==运算符…因为我开始回答问题。。。关于Java中的字符串比较,人们问了这么多问题,真是可笑。请仔细阅读您的基本Java知识:-为什么==对字符串不起作用。谢谢。这意味着我必须去检查所有的代码。谢谢。这意味着我必须去检查所有的代码。
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
    Log.i("Dropdown", "in NOTHING SELECTED");
    TextView us_lo_ans_hold = (TextView)findViewById(R.id.us_lo_ans_holdtest);
    us_lo_ans_hold.setText("nothing selected");
}
    // Spinner click listener 
    us_lo_spinner.setOnItemSelectedListener(this);

us_lo_spinner.onNothingSelected(this)   
if(itemx.equals("Test item 0")){...