Android的AsyncTask的交战像arargs方法应该只覆盖或由其他覆盖可变参数的方法 [英] Android asynctask warring like arargs methods should only override or be overridden by other varargs methods

查看:345
本文介绍了Android的AsyncTask的交战像arargs方法应该只覆盖或由其他覆盖可变参数的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经实现Android的异步任务类,我在这里重写 doInBackground(字符串[])方法,但code正在我越来越像

i have implemented Android async task class, here am overridden doInBackground(String[]) method but code is working am getting warning like

Varargs methods should only `override` or be overridden by other `varargs` methods unlike new `JSONTask(){}.doInBackground(String[])` and `JSONTask.doInBackground(String...)`

JSONTask类

JSONTask class

public class JSONTask extends AsyncTask<String, Void, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................

        return mJsonString;
    }

    }

我有两个类ClassA和ClassB的,我已经在这两个类我有重载doInBackground()方法用于JSONTask,但code工作完美,但正显示出像交战
    可变参数的方法只能覆盖或不像新JSONTask(其它可变参数的方法覆盖){}。doInBackground(字符串[])和JSONTask.doInBackground(字符串...)。

i have two class ClassA and ClassB, i have used JSONTask in both class i have override doInBackground() method , but the code is working perfect but is showing warring like Varargs methods should only override or be overridden by other varargs methods unlike new JSONTask(){}.doInBackground(String[]) and JSONTask.doInBackground(String...).

ClassA的code

ClassA code

class ClassA
    {

    new JSOnTask()
    {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................

        return mJsonString;
    }
        protected void onPostExecute(String result) {
        }


    }.execute(params);
    }

ClassB的code

ClassB code

class ClassB
    {

    new JSOnTask()
    {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................

        return mJsonString;
    }
        protected void onPostExecute(String result) {
        }


    }.execute(params);
    }

如何避免此战国...
谢谢

how to avoid this warring... Thanks

推荐答案

doInBackground()方法签名

protected String doInBackground(String... params)

这预计可变参数的参数,但是当你重写此方法,像

which expects variable arguments as parameter, but when you override this method like

protected String doInBackground(String[] strings)

通过传递字符串数组,而不是字符串变参

在这里编译器不会显示任何错误,但会发出警告(警告如你所说)

here compiler will not show any error but warns you(the warning as you said)

这篇关于Android的AsyncTask的交战像arargs方法应该只覆盖或由其他覆盖可变参数的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆