AsyncTask点击ListView到下一个页面中异步任务中显示UI这的方法,不会显示数据

AsyncTask点击ListView到下一个页面中异步任务中显示UI这的方法,不会显示数据

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view=inflater.inflate(R.layout.fragment_daxia, container, false);
    back=view.findViewById(R.id.back);
    backevent();
    daxia=view.findViewById(R.id.daxia);
    old_price=view.findViewById(R.id.old_price);
    tprice=view.findViewById(R.id.tprice);
    take_price=view.findViewById(R.id.take_price);
    xia_content=view.findViewById(R.id.xia_content);

    new XiaAsynckTask().execute(xiaurl);

    return view;
}

//返回按键,返回到主页面的
private void backevent() {
    back.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        getActivity().getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.container,new IndexkFragment(),null)
                .addToBackStack(null)
                .commit();

    }
});
}

class XiaAsynckTask extends AsyncTask<String,Void,List<Xiabean>>{


    @Override
    protected List<Xiabean> doInBackground(String... params) {

        return getJSONbject(params[0]);
    }

    @Override
    protected void onPostExecute(List<Xiabean> result) {
        super.onPostExecute( result);
        
        daxia.setText(result.get()); //?????????????????????????????就是这里






    }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 晓峰666 2020-03-30 16:25:24

http://img1.sycdn.imooc.com//climg/5e81acb80861c6e416000850.jpg这里有log,但是不显示log,这是什么错,找了半天还好是不明白

  • 1)它还提示有耗时操作,你的网络请求是在主线程做的?你得用开启子线程执行。在主线程中还有其它的耗时操作吗? 2)你多加几个关键性的log,例如for之前,for获取name后等。
    2020-03-30 17:00:48
提问者 晓峰666 2020-03-30 14:33:12

http://img1.sycdn.imooc.com//climg/5e8192590860c87a16000655.jpg在ListView点击跳转那页突然出现这样,这是获取到json的值吗,还是没获取到啊

  • 这应该是获取到json了,是不是在解析的时候报错了呢。你在解析完之后,再打一下log看看。如果是的话,看一下,是不是key写错了,或者类型出错了之类的。
    2020-03-30 15:01:55
好帮手慕雪 2020-03-30 09:47:19

可以从两方面入手:1)测试一下daxia.setText(“hello”)改成固定值会显示什么?  2)遍历result,看看里面是什么内容。先要投石问路, 接下来才有方向,知道应该从哪里找问题。

  • 提问者 晓峰666 #1
    daxia.setText("hello")在onCreateView主方法里面可以显示,在异步线程onPostExecute方法里面不能显示
    2020-03-30 14:34:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师