public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ThraedDemo objDemo = new ThraedDemo();
Thread objThread = new Thread() {
@Override
public void run() {
objDemo.firstMethod();
}
};
objThread.start();
}
class ThraedDemo {
private void firstMethod() {
Thread objThread = new Thread() {
@Override
public void run() {
try {
((ImageView)findViewById(R.id.ImageViewnumber)).setImageResource(nums[n]);
Thread.sleep(10000);
Log.v("Thread","1111111111111111sleep");
} catch (InterruptedException ex) {
System.out.println("interuped exception" + ex.getMessage());
}
secondMethod();
}
private void secondMethod() {
Thread objThread = new Thread() {
@Override
public void run() {
try {
((ImageView)findViewById(R.id.ImageViewResult)).setImageResource(nums[n+1]);
n++;
Thread.sleep(10000);
Log.v("Thread","22222222222 sleep");
} catch (InterruptedException ex) {
System.out.println("interuped exception" + ex.getMessage());
}
firstMethod();
}
};
objThread.start();
}
};
objThread.start();
}
}
Run Code Online (Sandbox Code Playgroud)
我使用上面的代码,但它没有运行.它得到了上面代码CalledFromWrongThreadException中的问题.请给我一些建议.谢谢你提前
Sep*_*phy 10
我认为您不能从UI线程以外的其他线程查看修改,因此要么在oncreate中创建处理程序并将线程发布到它,要么使用AsyncTask或runOnUIThread方法将部分代码直接发送到UI线程.
| 归档时间: |
|
| 查看次数: |
8816 次 |
| 最近记录: |