此代码位于MainActivity类中。
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
Intent i = new Intent(getApplicationContext(), NextActivity.class);
startActivity(i);
}
});
thread2.start();
}
});
thread1.start();
当我运行此代码时,没有任何事情发生。
答案 0 :(得分:1)
您不能使用其他线程来处理UI或调用其他活动, 您只能从主UI线程执行此操作。
UPDATE arak
SET ara = case when ID = 1 then '$konyha'
when ID = 2 then '$kugli'
when ID = 3 then '$ronk'
else ara
end
运行其他线程意味着,您正在与主线程同时执行一些额外的任务。
答案 1 :(得分:1)
startActivity
应该在主线程中运行,所以如果你需要从thread2
运行它,我会把它发布到主线程中运行。
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
Handler mainHandler = new Handler(context.getMainLooper());
Runnable myRunnable = new Runnable() {
@Override
public void run() {
Intent i = new Intent(context, NextActivity.class);
startActivity(i);
}
mainHandler.post(myRunnable);
};