我一直在研究这个项目已经有一段时间了。我被困在如何处理我的多个按钮问题。我有三个按钮,需要启动不同的线程,但我看了谷歌的线程和多线程的东西,我无法找到我正在寻找的答案。 根据我的理解,public void run()只能在一个类中为线程调用一次?我如何创建一个类中代码不同的多个线程?
我所看到的最能解决我问题的例子是:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.Line:
// Call to Thread line
break;
case R.id.Enter:
//Call to Thread Enter
break;
case R.id.arc
//Call to Thread Arc
}
线程线程示例并输入线程:
Thread enter = new Thread() {
public void run() {
DrawingUtils call = new DrawingUtils();
EditText cl = (EditText) findViewById(R.id.editText1);
String in = cl.getText().toString();
call.setInputCoords(in);
notifyAll();
}
};
Thread line = new Thread() {
public void run() {
info.setText("Enter X,Y,Z for Point 1");
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
call.addLine();
info.setText("Enter X,Y,Z for Point 2");
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
call.addLine();
}
};
line.start();
答案 0 :(得分:1)
创建其他扩展线程的内部类,如
class Line extends Thread {
public void run() {
DrawingUtils call = new DrawingUtils();
EditText cl = (EditText) findViewById(R.id.editText1);
String in = cl.getText().toString();
call.setInputCoords(in);
notifyAll();
}
};
现在开始使用new Line().start()
答案 1 :(得分:0)
您无法在您启动的新主题上正常更新UI ..请在开发前阅读有关UI的更多信息..... this may help you
在代码中为文本视图设置测试
info.post(new Runnable() {
@Override
public void run() {
info.setText("Enter X,Y,Z for Point 1");
}
});