我正在学习如何在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();
}
}
}
答案 0 :(得分:0)
答案 1 :(得分: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();
}
}
}