我正在关注有关发送简单 HTTP 请求的 android 开发人员教程:https ://developer.android.com/training/volley/simple
我收到错误消息:'Listener is abstract; 无法实例化'
我查看了https://afzaln.com/volley/com/android/volley/Response.Listener.html 和 https://afzaln.com/volley/com/android/volley/Response.html
其中描述了响应类和侦听器接口。没有提到抽象类。只要包含所需的方法,我应该能够实例化一个新的侦听器。正确的?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button getQuoteBtn = (Button) findViewById(R.id.getQuoteBtn);
getQuoteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
RequestQueue quoteQue = new Volley.newRequestQue(this);
String quoteUrl = "http://quotes.rest/qod.json?category=inspire";
StringRequest stringRequest = new StringRequest(Request.Method.GET, quoteUrl, new Response.Listener<String>()) {
@Override
public void onResponse(String response) {
}
}
有问题的行是: new Response.Listener())
带有红色下划线的错误消息:侦听器是抽象的,无法实例化。
在上述的android教程中没有提到这一点。
附加信息:文档让我感到困惑。关于这个主题的每个教程都展示了实例化新的 Response.Listener。我明白为什么它不起作用,对为什么多次错误地记录它感到困惑,除非有变化,这让我想到了这一点:
尝试创建实例时,智能感知会在 StringRequest 的第三个参数中自动填充类型:errorListener。
StringRequest stringRequest = new StringRequest(Request.Method.GET, quoteUrl, errorListnener: Response.Listener rl = new............
根据https://afzaln.com/volley/com/android/volley/toolbox/StringRequest.html
有两个 StringRequest 构造函数,一个带有签名 3,另一个带有 4。看起来我只有一个可用。
有没有一个如何实例化监听器的例子?