Java 将参数发送到AsyncTask中的onPostExecute
onPostExecute将使用2个参数, 来自doInBackground的GCMID 和调用AsyncTask的主函数的用户ID 我试图更改AsyncTask声明中的参数,但出现错误“尝试使用不兼容的返回类型”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
私有类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;
}