0

我正在关注有关发送简单 HTTP 请求的 android 开发人员教程:https ://developer.android.com/training/volley/simple

我收到错误消息:'Listener is abstract; 无法实例化'

我查看了https://afzaln.com/volley/com/android/volley/Response.Listener.htmlhttps://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。看起来我只有一个可用。

有没有一个如何实例化监听器的例子?

4

0 回答 0