欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
忘了密码?

扫一扫,访问微社区

快捷导航
搜索
查看: 760|回复: 0

[咨询求助] 调用腾讯SDK上传图片后 使用adapter刷新UI 失败,必须手动触...

[复制链接]

1

主题

0

好友

80

积分

小白[LV1]

Rank: 1

云币
250
威望
80
发表于 2018-1-30 12:42:34 |显示全部楼层 |未分类

  • public class TestActivity extends BaseActivity {
        private GridView gridview;
        private Button btn;
        private ArrayList<String> mList;
        private MyAdapter myAdapter;
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_test);
            gridview=findViewById(R.id.gridview);
            myAdapter=new MyAdapter();
            mList=new ArrayList<String>();
            myAdapter.setmList(mList);
            gridview.setAdapter(myAdapter);
            btn=findViewById(R.id.btn);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(TestActivity.this, PaiZhaoActivity.class);
                    startActivityForResult(intent, 3);
                }
            });
        }
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == 4 && requestCode == 3) {
                final String path = data.getStringExtra("path");
                mList.add(path);
                //这里页面可以刷新出来
                myAdapter.notifyDataSetChanged();
          &

    SDK语言: java(android)

    SDK版本: cos-sdk-android.1.4.3.10.jar

    Appid: 1253538594

    bucket名称: bbkj

    requestid:

    errorcode:

    文件路径:







  • 腾讯云工程师 :
    2018-01-30 11:13:17

    您好,请问您的具体需求是什么?







  • 604527061 :
    2018-01-30 11:18:56

    我调用SDK 上传图片到云服务器,之后拿到云服务器的图片链接,上传到我们的服务器进行储存,但是在调用咱们的sdk后  页面就出现各种无法刷新的问题,必须用手指点击页面滑动才刷新。







  • 604527061 :
    2018-01-30 11:21:12

    package com.babuwyt.siji.ui.activity;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.text.TextUtils;
    import android.util.Log;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.GridView;
    import android.widget.ImageView;

    import com.babuwyt.siji.R;
    import com.babuwyt.siji.base.BaseActivity;
    import com.babuwyt.siji.entity.PicEntity;
    import com.babuwyt.siji.finals.BaseURL;
    import com.babuwyt.siji.utils.DensityUtils;
    import com.babuwyt.siji.utils.TencentYunUtils;
    import com.google.gson.Gson;
    import com.tencent.cos.model.COSRequest;
    import com.tencent.cos.model.COSResult;
    import com.tencent.cos.task.listener.IUploadTaskListener;

    import org.xutils.x;

    import java.util.ArrayList;

    /**
    * Created by lenovo on 2018/1/30.
    */

    public class TestActivity extends BaseActivity {
        private GridView gridview;
        private Button btn;
        private ArrayList<String> mList;
        private MyAdapter myAdapter;
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_test);
            gridview=findViewById(R.id.gridview);
            myAdapter=new MyAdapter();
            mList=new ArrayList<String>();
            myAdapter.setmList(mList);
            gridview.setAdapter(myAdapter);
            btn=findViewById(R.id.btn);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(TestActivity.this, PaiZhaoActivity.class);
                    startActivityForResult(intent, 3);
                }
            });
        }
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == 4 && requestCode == 3) {
                final String path = data.getStringExtra("path");
                mList.add(path);
                //这里页面可以刷新出来
                myAdapter.notifyDataSetChanged();

    //            upload(path);这个方法调用后就无法刷新出来

            }
        }
        public void upload(final String srcPath) {
            if (TextUtils.isEmpty(srcPath)) {
                return;
            }
            final String cosPath = "ceshi/wyt" + System.currentTimeMillis() / 1000 + ".jpg";
            TencentYunUtils.upload(this, srcPath, cosPath, new IUploadTaskListener() {
                @Override
                public void onProgress(COSRequest cosRequest, long l, long l1) {
                }

                @Override
                public void onCancel(COSRequest cosRequest, COSResult cosResult) {
                    Log.d("==取消==",cosPath);
                }

                @Override
                public void onSuccess(COSRequest cosRequest, COSResult cosResult) {
                    mList.add(BaseURL.BASE_IMAGE_URI+cosPath);
                    Log.d("==前==",cosPath);
                    Log.d("==成功==",new Gson().toJson(cosResult));
                    myAdapter.notifyDataSetChanged();
                    Log.d("==后==",cosPath);

                }

                @Override
                public void onFailed(COSRequest cosRequest, COSResult cosResult) {
                    Log.d("==失败==",srcPath);
                    Log.d("==失败==",new Gson().toJson(cosResult));

                }
            });
        }


        class MyAdapter extends BaseAdapter{
            private ArrayList<String> mList;
            public MyAdapter(){
                mList=new ArrayList<String>();
            }
            public void setmList(ArrayList<String>list){
                if (list!=null){
                    mList=list;
                }
            }
            @Override
            public int getCount() {
                return mList.size();
            }

            @Override
            public Object getItem(int i) {
                return i;
            }

            @Override
            public long getItemId(int i) {
                return i;
            }

            @Override
            public View getView(int i, View view, ViewGroup viewGroup) {
                int width=DensityUtils.deviceWidthPX(TestActivity.this);



                ImageView imageView=new ImageView(TestActivity.this);
                imageView.setLayoutParams(new ViewGroup.LayoutParams(width/3,width/3));
                x.image().bind(imageView,mList.get(i));

                return imageView;
            }
        }
    }

    谁知道是什么原因啊,https://app-1253538594.cos.ap-guangzhou.myqcloud.com/a56838bb5cce76c6681f4fd5034e513c.mp4这个是操作视频
    视频中最后两个照片,倒数第二个是不调用SDK可以刷新出来,最后一个是我要来回触摸屏幕 才能刷新出来。





您需要登录后才可以回帖 登录 | 立即注册
您需要登录后才可以发帖 QQ登录

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2018-12-19 10:21 , Processed in 1.161017 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部