对于这个问题有很多旧的答案,但没有一个得到帮助,在提出这个问题之前已经花了两个星期的时间进行研究。我有通过string.xml创建的2个微调器,当用户从每个微调器中选择一个选项时,它将把textView更改为特定值,例如3.下面是我根据网上示例汇总的内容,问题似乎是.equals和setText返回一个无法解决方法错误。

可以提供的任何帮助表示赞赏。

public class Main3Activity extends AppCompatActivity implements OnItemSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        spinner.setOnItemSelectedListener(this);
        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);

    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        if (spinner.equals("Selection 1")&& spinner2.equals("Option 2"))
            textView8.setText("3");
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}


IntelliJ的答案如下所述解决了我的问题。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
    TextView textView8=(TextView) findViewById(R.id.textView8);

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            if (spinner.getSelectedItem().toString().equals("Selection 1")
                    && spinner2.getSelectedItem().toString().equals("Option 2"))
            {
                textView8.setText("3");
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

}


}

最佳答案

您应该添加getSelectedItem().toString()

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
     {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                       if (spinner.getSelectedItem().toString().equals("Selection 1"))

                       {
                          textView8.setText("3");
                       }
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });

  spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
     {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                       if (spinner2.getSelectedItem().toString().equals("Option 2"))
                       {
                          textView8.setText("3");
                       }
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });

     }

09-10 07:04
查看更多