Spinner中的条件条目

时间:2014-08-09 03:13:11

标签: android conditional spinner

我正在尝试根据另一个Spinner中的选定值填充Spinner中的条目。

Spinner spin1 = (Spinner) findViewById(R.id.Spinner1);
spin1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        Object Obj = parent.getItemAtPosition(pos);
        String str = Obj.toString();
        Log.i(str, str);
        if (str == "B") {
            Spinner spin2 = (Spinner) findViewById(R.id.Spinner2);
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                    getApplicationContext(), R.array.array1,
                    android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spin2.setAdapter(adapter);
        } else if (str=="M") {
            Spinner spin2 = (Spinner) findViewById(R.id.Spinner2);
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                    getApplicationContext(), R.array.array2,
                    android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spin2.setAdapter(adapter);
        }
    }

我通过不同的论坛后汇编了这段代码。但这不适合我。 Log.i给出了正确选择的城市,但第二个微调器没有填充新阵列。

1 个答案:

答案 0 :(得分:0)

你无法使用==来比较字符串,如果(str ==“B”)永远不会是你的条件。

尝试使用equalsIgnoreCaseequals

if(str.equals("B"))
{
    //populate second spinner
}