Java 将参数发送到AsyncTask中的onPostExecute

Java 将参数发送到AsyncTask中的onPostExecute,java,android,android-asynctask,parameter-passing,Java,Android,Android Asynctask,Parameter Passing,onPostExecute将使用2个参数, 来自doInBackground的GCMID 和调用AsyncTask的主函数的用户ID 我试图更改AsyncTask声明中的参数,但出现错误“尝试使用不兼容的返回类型” 私有类GCM扩展异步任务{ @凌驾 受保护字符串[]doInBackground(字符串…参数){ 字符串gcmRegID=GHelper.GCMRegister(“123456”); 返回gcmRegID; } @凌驾 受保护的void onPostExecute(字符串RegI

onPostExecute将使用2个参数, 来自doInBackground的GCMID 和调用AsyncTask的主函数的用户ID

我试图更改AsyncTask声明中的参数,但出现错误“尝试使用不兼容的返回类型”


私有类GCM扩展异步任务{
@凌驾
受保护字符串[]doInBackground(字符串…参数){
字符串gcmRegID=GHelper.GCMRegister(“123456”);
返回gcmRegID;
}
@凌驾
受保护的void onPostExecute(字符串RegID){
UTask ut=新的UTask();
//******我设法让雷吉德
//******我无法发送用户ID!!如何发送?
执行(UserID,RegID);
}
}

您可以通过GCM构造函数发送用户ID

private class GCM extends AsyncTask<String, String, String>{
  private String userId;
  public GCM(String UserId){
     this.userId=UserId;
  }
像这样使用它

new GCM(UserId).execute();

您可以通过GCM构造函数发送用户ID

private class GCM extends AsyncTask<String, String, String>{
  private String userId;
  public GCM(String UserId){
     this.userId=UserId;
  }
像这样使用它

new GCM(UserId).execute();
试试这个:

String UserID = "Admin";
new GCM().execute(null,null,null);

私有类GCM扩展异步任务{
@凌驾
受保护字符串[]doInBackground(字符串…参数){
字符串regId=somethingToGetRegId();
字符串userId=somethingToGetUserId();
返回新字符串[]{regId,userId};
}
@凌驾
受保护的void onPostExecute(字符串[]值){
UTask ut=新的UTask();
字符串regId=值[0];
字符串userId=值[1];
执行(UserID,RegID);
}
}
试试这个:

String UserID = "Admin";
new GCM().execute(null,null,null);

私有类GCM扩展异步任务{
@凌驾
受保护字符串[]doInBackground(字符串…参数){
字符串regId=somethingToGetRegId();
字符串userId=somethingToGetUserId();
返回新字符串[]{regId,userId};
}
@凌驾
受保护的void onPostExecute(字符串[]值){
UTask ut=新的UTask();
字符串regId=值[0];
字符串userId=值[1];
执行(UserID,RegID);
}
}
更改

@Override
        protected String[]  doInBackground(String... params) {
            String gcmRegID = GHelper.GCMRegister("123456");
            return gcmRegID;
        }

您的返回类型为String[],并且在doInBackground()中返回字符串。

Change

@Override
        protected String[]  doInBackground(String... params) {
            String gcmRegID = GHelper.GCMRegister("123456");
            return gcmRegID;
        }


您的返回类型为String[],并且在doInBackground()中返回字符串。

为什么您的AsyncTask执行有3个空参数?为什么您的AsyncTask执行有3个空参数?
@Override
        protected String doInBackground(String... params) {
            String gcmRegID = GHelper.GCMRegister("123456");
            return gcmRegID;
        }