我正在扩展一个线程类,我想从该类开始一个活动。怎么做?
答案 0 :(得分:13)
您需要在应用程序的主线程上调用startActivity()
。一种方法是通过执行以下操作:
初始化Handler
并将其与应用程序的主线程关联。
Handler handler = new Handler(Looper.getMainLooper());
将在匿名Activity
类中包含将启动Runnable
的代码并将其传递给Handler#post(Runnable)
方法。
handler.post(new Runnable() {
@Override
public void run() {
Intent intent = new Intent (MyActivity.this, NextActivity.class);
startActivity(intent);
}
});
答案 1 :(得分:0)
开始一个类的活动,一个类应该根据我的活动扩展。
但是如果你想用一些线程函数启动活动,你可以做这些事情。
使用implements Runnable代替extends Thread。在那个有一个Activity的类之后你只需要调用start线程并放入你的逻辑并启动Intent。
我认为这对你来说是个很好的解决方案。
答案 2 :(得分:0)
你可以使用像这样的东西。
public class MyActivity extends Activity
{
Handler hander = new Handler(){
public void handleMessage(Message m){
Intent intent = new Intent (MyActivity.this, Next.class);
startActivity(intent);
}
};
pubilc void onCreate(Bundle ic)
{
//your code setContentView() etc....
Thread toRun = new Thread()
{
public void run()
{
hander.sendMessage(1);
}
}
toRun.start();
}
}