对于这个问题有很多旧的答案,但没有一个得到帮助,在提出这个问题之前已经花了两个星期的时间进行研究。我有通过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) {
}
});
}