当前位置: 代码迷 >> Android >> ImageView控件运用
  详细解决方案

ImageView控件运用

热度:89   发布时间:2016-05-01 15:05:18.0
ImageView控件使用
Java code
public void run() {            while (true) {                byte[] data;                try {                    image_path = ServiceDate.getServlet(String.valueOf(kk));                    String path2;                    path2 = path + image_path.getImage_name();                    System.out.println(path2);                    data = ServiceDate.getImage(path2);                    Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,                            data.length);                                    myView = (ImageView) findViewById(R.id.mybutton);                                        myView.setImageBitmap(bitmap);                    path2 = "";                } catch (Exception e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                kk++;                if (kk == 4) {                    kk = 0;                }            }


我从服务器上下的图片,为什么只可以显示第一张图片。没有变换的效果。

------解决方案--------------------
你这个run是在Thread线程里面的吗?

如果是的话,肯定会出错了,你需要将显示图片的处理放到Handler里面进行。
------解决方案--------------------
你这个是多线程操作运行的内容,里面不能有涉及UI的部分也就是 
myView = (ImageView) findViewById(R.id.mybutton);
 myView.setImageBitmap(bitmap);
这两行要放到主线程,然而这两步是要在前面bitmap得到之后运行的,所以这种多线程的方式就不合适了。
不用handler和runnable了吧,用asynotask类,前面多线程部分写在doinbackground里面,后面UI操作部分写在onPostExecute里面
------解决方案--------------------
android,更新UI的操作只能在UI线程中
  相关解决方案