0

我正在学习如何在android开发中使用Looper和Handler类 http://developer.android.com/reference/android/os/Looper.html android开发 中给出的例子不清楚是什么用法和如何使用它。我不知道如何在 Looper 中添加 Handler 以及如何调用 Looper 进行循环。如果有的话,谁能给我一个简单的例子来使用它。

public class LooperTest extends Activity{

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
private class LooperTesting extends Thread
{
    public Handler handler;
    public void run()
    {
        Looper.prepare();
        handler = new Handler()
        {
            public void handlerMessage(Message msg)
            {
                    // do something
            }
        };
        Looper.loop();

    }
}
}
4

2 回答 2

0

希望这个链接对你有帮助

  1. 链接1
  2. 链接2
  3. 链接3
于 2013-01-16T05:09:36.247 回答
0

在您的示例中,您只定义了一个带有 Looper 的线程。您需要使用关联的 Looper 启动 Thread,然后才能向其发布任何消息。我在您的示例中添加了一些代码来说明必须做什么:

public class LooperTest extends Activity{

    LooperTesting mBgThread;

    public void onCreate(Bundle savedInstanceState)
    { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mBgThread = new mBgThread();

        // Start the thread. When started, it will wait for incoming messages.
        // Use the post* or send* methods of your handler-reference.
        mBgThread.start();
    }

    public void onDestroy() {
        // Don't forget to quit the Looper, so that the
        // thread can finish. 
        mBgThread.handler.getLooper().quit();
    }

    private class LooperTesting extends Thread
    {
        public Handler handler;
        public void run()
        {
            Looper.prepare();
            handler = new Handler()
            {
                public void handlerMessage(Message msg)
                {
                    // do something
                }
            };
            Looper.loop();
        }
    }
}
于 2013-01-19T17:19:49.613 回答