代码之家  ›  专栏  ›  技术社区  ›  user3834795

Spinner中的条件项

  •  0
  • user3834795  · 技术社区  · 11 年前

    我正在尝试在 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 回复  |  直到 11 年前
        1
  •  0
  •   Ketan Ahir    11 年前

    不能使用比较字符串 == ,并且条件if(str==“B”)永远不会为真。

    尝试使用 equalsIgnoreCase equals

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