作者erspicu (.)
看板AndroidDev
标题[问题] callback中修改UI
时间Sun Jun 3 23:48:54 2012
private Camera.PictureCallback jpegCallback =
new Camera.PictureCallback(){
public void onPictureTaken (byte[] data, Camera camera) {
((TextView)findViewById( R.id.save_file)).setText("a");
((TextView)findViewById( R.id.save_file)).requestLayout();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String path = "/sdcard/DCIM/xxxx.jpg";
File file = new File(path);
try{
file.createNewFile();
OutputStream os2 = new
BufferedOutputStream(new FileOutputStream(file),8192);
os2.write(data);
os2.close();
((TextView)findViewById( R.id.save_file)).setText("b");
} catch ( IOException e ){
}
synchronized(semaphore) {
semaphore.notify();
}
}
};
简单来说问题就是 永远只看得到 .setText("b"); 的显示
.setText("a"); 永远看不到
已经使用过一些看起来像是强制刷新UI的方法来更新
结果似乎永远只会显示最後档案写入完毕後的 .setText("b");
请问这个该怎麽处理呢?
--
※ 编辑: erspicu 来自: 111.184.195.252 (06/03 23:49)
1F:推 motors55:setText("a")写在函数外? 06/07 01:00