【问题标题】:onItemSelectedListner implement abstract methodonItemSelectedListner 实现抽象方法
【发布时间】:2017-04-28 01:38:51
【问题描述】:

在这个论坛的帮助下,我成功地协调了以下编码,但是当我运行 Android 模拟器时,它指出我需要将公共类 Main3Activity 更改为抽象或实现 onItemSelectedListner 的抽象方法。如果 Main3Activity 更改为抽象,则无法实例化它,因此假设我需要在 onItemSelectedListner 的某处进行更改,但无法弄清楚是什么。感谢您提供任何帮助。

public class Main3Activity extends AppCompatActivity implements OnItemSelectedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
final Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
final 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) {

    }
});

}

【问题讨论】:

  • 您已经声明MainActivity 实现了OnItemSelectedListener 接口,但您还没有实现其中的接口方法。不过,您似乎没有将MainActivity 用作OnItemSelectedListener,因此您可以删除implements OnItemSelectedListener。
  • 谢谢@MikeM。就是这样。我已删除,现在可以使用了。

标签: java android class


【解决方案1】:

如果您在 setOnItemSelectedListener() 方法内创建 OnItemSelectedListener 的新实例,则无需让 MainActivity 实现该接口(因为您已经在处理它)。

您可以删除 实现 OnItemSelectedListener,您应该一切顺利。您的类声明将如下所示:

public class Main3Activity extends AppCompatActivity 

如果您希望将侦听器作为 Activity 的一部分,则需要在 Activity 内部实现接口所需的方法。例如:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    // TODO: Do something here
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
    // TODO: Do something here
}

然后设置监听器:

spinner.setOnItemSelectedListener(this);

有关 Java 接口的更多信息,请阅读以下内容:https://www.tutorialspoint.com/java/java_interfaces.htm

【讨论】:

  • 感谢 Eric 提供的额外信息,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2013-05-30
  • 2016-11-08
  • 2021-10-17
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
相关资源
最近更新 更多