这个要怎么做? 我试写了一下代码 不对。public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jingqu_main);
new Thread() {
@Override
public void run() {
handler_zhutupian.sendEmptyMessage(1);
}
}.start();
//断点1
}// 异步回调方法_下载主图片
private Handler handler_zhutupian = new Handler() {
@Override
public void handleMessage(Message msg) {
//断点2
Toast.makeText(getApplicationContext(), "请稍等......",
Toast.LENGTH_SHORT).show();
image = (ImageView) findViewById(R.id.jingqu_main_tv_image);
String path = Global.selectJingQu.getProperty("IMAGE_PATH").toString();
if (path.equals("anyType{}"))
image.setVisibility(View.GONE);
else
image.setImageBitmap(FileHelper.getBitMap(Global.ServerImagePath
+ path));
}
};
代码会先执行断点1, 再执行断点2(下载图片). 最后才显示界面。我需要先界面, 再下载, 最后显示界面里的图片

解决方案 »

  1.   

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.jingqu_main);
            Toast.makeText(getApplicationContext(), "请稍等......",
                        Toast.LENGTH_SHORT).show();
    new Thread() {
                @Override
                public void run() {
                    //下载图片
                    doload.downPic();
                    handler_zhutupian.sendEmptyMessage(1);
                }
            }.start();
    }
        private Handler handler_zhutupian = new Handler() {
            @Override
            public void handleMessage(Message msg) {
               
                image = (ImageView) findViewById(R.id.jingqu_main_tv_image);
                String path = Global.selectJingQu.getProperty("IMAGE_PATH").toString();
                if (path.equals("anyType{}"))
                    image.setVisibility(View.GONE);
                else
                    image.setImageBitmap(FileHelper.getBitMap(Global.ServerImagePath
                            + path));
            }
        };