小编Jay*_*Dee的帖子

将消息从线程传递到更新UI

我为文件浏览器创建了一个新线程.该线程读取目录的内容.我想要做的是更新UI线程以绘制文件和文件夹的图形表示.我知道我不能在新线程中更新UI所以我想要做的是:

而文件扫描线程遍历目录文件和文件夹将文件路径字符串传递回UI线程.然后,UI线程中的处理程序将绘制传回的​​文件的图形表示.

public class New_Project extends Activity implements Runnable {

    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            Log.d("New Thread","Proccess Complete.");
            Intent intent = new Intent();
            setResult(RESULT_OK, intent);
            finish();
        }
    };


    public void fileScanner(){
        //if (!XMLEFunctions.canReadExternal(this)) return;
        pd = ProgressDialog.show(this, "Reading Directory.",
                "Please Wait...", true, false);

        Log.d("New Thread","Called");
        Thread thread = new Thread(this);
        thread.start();
    }


    public void run() {
        Log.d("New Thread","Reading Files");
        getFiles();
        handler.sendEmptyMessage(0);
    }


    public void getFiles() {
        for (int i=0;i<=allFiles.length-1;i++){
            //I WANT TO …
Run Code Online (Sandbox Code Playgroud)

multithreading android messages

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

messages ×1

multithreading ×1