2014-01-22 46 views
0

我已經實現的Android異步任務類,我在這裏覆蓋doInBackground(String[])方法,但代碼工作我越來越喜歡的Android的AsyncTask交戰像arargs方法應該只覆蓋或由其它覆蓋可變參數方法

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

JSONTask

級警告
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,但代碼工作完美,但正顯示出交戰像 VARARGS我thods應該只覆蓋其他可變參數方法,而不像新的JSONTask(){}。doInBackground(String [])和JSONTask.doInBackground(String ...)。

ClassA的代碼

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的代碼

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); 
    } 

如何避免這種交戰...... 感謝

+1

你可以粘貼你的代碼? –

+0

@FaizanMubasher現在可以檢查,我有更新代碼 – venu

回答

2

doInBackground()方法簽名

protected String doInBackground(String... params) 

其預計變量參數作爲參數,但是當你通過傳遞String陣列,而不是String變參

這裏編譯器不會顯示任何錯誤,但會發出警告(警告作爲覆蓋此方法類似

protected String doInBackground(String[] strings) 

你說)

+0

謝謝@Gopal Rao – venu