微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在AsyncTask上将doInBackground()方法中的JSONObject返回到onPostExecute()方法?

在Android应用程序中,我想从doInBackground()方法返回JSONObject到onPostExecute()方法.
这是代码
private class AddAsyncTask extends AsyncTask<String,Void,String>
     {
         JSONObject jsonObjRecv;
         String result;

    @Override
    protected JSONObject doInBackground(JSONObject... params) {
        Assetobj assetobj = new Assetobj();
        assetobj.setAssetName(txtname.getText().toString());
        assetobj.setMobileNo(txtmobile.getText().toString());
        assetobj.setownerId(myApp.getownerId());
        assetobj.setStartTime(startTime.getText().toString());
        assetobj.setEndTime(endTime.getText().toString());
        assetobj.setInterval(interval.getText().toString());
        JSONObject jsonObjRecv = SyncService.AddNewAssetRequest(assetobj);
        return jsonObjRecv;
     }
     protected void onPostExecute(JSONObject obj){
                    if(obj != null)
                    {
                        //do something
                    }

我试过这段代码我得到了错误.是否可以从doInBackground()方法返回JSONObject到onPostExecute()方法

编辑:

这可以帮到你,

private class AddAsyncTask extends AsyncTask<String,JSONOnject>
 {
     JSONObject jsonObjRecv;
     String result;

@Override
protected JSONObject doInBackground(String... params) {
    Assetobj assetobj = new Assetobj();
    assetobj.setAssetName(txtname.getText().toString());
    assetobj.setMobileNo(txtmobile.getText().toString());
    assetobj.setownerId(myApp.getownerId());
    assetobj.setStartTime(startTime.getText().toString());
    assetobj.setEndTime(endTime.getText().toString());
    assetobj.setInterval(interval.getText().toString());
    JSONObject jsonObjRecv = SyncService.AddNewAssetRequest(assetobj);
 }
 protected void onPostExecute(JSONObject obj){
            if(obj != null)
            {
                //do something
            }

这是明确的,

private class AddAsyncTask extends AsyncTask<What type of input you need to pass to doInBackground(),What type of return value you need to return to onPostExcute()>

可能你不需要在方法声明中更改返回值和参数.

只需创建以下行

private class AddAsyncTask extends AsyncTask<String,JSONOnject>

将根据您提到的参数和返回类型自动创建方法

private class AddAsyncTask extends AsyncTask<String,JSONOnject>

原文地址:https://www.jb51.cc/json/288531.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐