Я уже давно работаю над этой программой. Я зациклился на том, как обрабатывать проблемы с несколькими кнопками. У меня есть три кнопки, которые нужно запускать разными потоками, но я просмотрел материал в Google для потоковой передачи и многопоточности, и я не смог найти ответ, который я искал. Из моего понимания public void run() может быть вызван только один раз в классе для потоков? Как создать несколько потоков, которые отличаются кодом в одном классе?Как использовать несколько кнопок для нескольких потоков в android?
Пример того, что я видел, что было бы лучшим решением моей проблемы:
@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();
A класс должен инкапсулировать уникальную функциональность. Поэтому вам нужно писать отдельные классы для разных потоков, которые отличаются своей функциональностью. – Kishore
Итак, можно ли создавать внутренние классы класса DrawingUtils и запускать потоки из моего класса mainactivity? Если да, то как я могу назвать потоки при нажатии кнопки? –