В моем приложении у меня есть три кнопки, и когда одна кнопка нажата, она вызывает поток, чтобы начать что-то, что я хочу иметь возможность вводить строку edittext в потоки и выполнять некоторую работу с ней, а затем возвращать ее UI Thread, где я могу отображать его или помещать в opengl для отображения объекта. Я прочитал «Ручки», и я не уверен, что полностью понимаю их, и, может быть, если кто-нибудь знает способ сделать мой собственный код обработчика. Кроме того, я прочитал об Async, и я не думаю, что это принесло бы пользу моему приложению (личный оппонент, если это принесет пользу моему приложению, дайте мне знать). Мой вопрос заключается в том, как получить информацию из UI edittext, когда ввод будет нажат на строку thread в классе DrawingUtils, то работа над ним выполняется, а затем возвращается к пользовательскому интерфейсу, чтобы быть эйером, отображаемым или введенным в программу openGl?Как реализовать обработчик в другом классе?
Вот MainActivity класс:
public class MainActivity extends Activity implements OnClickListener {
EditText cl;
TextView info;
Button enter;
Button line;
Button arc;
Line callLine = new DrawingUtils.Line();
Enter callEnter = new DrawingUtils.Enter();
Arc callArc = new DrawingUtils.Arc();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info = (TextView) findViewById(R.id.info);
enter = (Button) findViewById(R.id.enter);
line = (Button) findViewById(R.id.line);
arc = (Button) findViewById(R.id.arc);
Handler UIhandler = new Handler() {
@Override
public void handleMessage(Message msg) {
Bundle bundle = msg.getData();
String string = bundle.getString("myKey");
}
};
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.enter:
callEnter.start();
break;
case R.id.line:
callLine.start();
break;
case R.id.arc:
callArc.start();
break;
}
};
}
Вот DrawingUtils класс:
public class DrawingUtils {
MainActivity handle = new MainActivity();
// Thread classes for buttons
public static class Enter extends Thread {
Thread enter = new Thread() {
public void run() {
}
};
public static class Line extends Thread {
Thread line = new Thread() {
public void run() {
}
};
}
public static class Arc extends Thread {
Thread arc = new Thread() {
public void run() {
}
};
}
}
}