我已经在这个程序上工作了一段时间了。我被困在如何处理我的多个按钮问题上。我有三个按钮需要启动不同的线程,但我查看了谷歌上关于线程和多线程的东西,但我找不到我正在寻找的答案。据我了解,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();