我在我的 Android 应用程序中遇到了问题。我需要创建一个开关,这样我就可以将多条消息放入一个处理程序中,而不是创建一百万个处理程序。这是我的代码:
String text1 = spinner1.getSelectedItem().toString().trim();
String text2 = spinner2.getSelectedItem().toString().trim();
dialog1 = ProgressDialog.show(getActivity(), "", "Calculating...");
if (text1.equals("US Dollar - USD") && text2.equals("Euro - EUR") && edittextdollars.length() > 0 && edittexteuros.length()==0) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try{
handler.sendEmptyMessage(0);
convertvalues("USD", "EUR");
}
catch (Exception e) {
}
}
});
thread.start();
}
public Handler handler = new Handler () {
public void handleMessage(android.os.Message msg) {
dialog1.dismiss();
convertvalues("USD", "EUR");
}
}
;
这可行,但我想为多个 if 语句创建更多消息,如下所示:
if (text1.equals("US Dollar - USD") && text2.equals("Euro - EUR") && edittextdollars.length() > 0 && edittexteuros.length()==0) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try{
handler.sendEmptyMessage(0);
convertvalues("USD", "EUR");
}
catch (Exception e) {
}
}
});
thread.start();
}
if (text1.equals("US Dollar - USD") && text2.equals("Euro - EUR") && edittexteuros.length() > 0 && edittextdollars.length()==0) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try{
handler.sendEmptyMessage(0);
convertvalues2("EUR","USD");
}
catch (Exception e) {
}
}
});
thread.start();
}
if (text1.equals("Euro - EUR") && text2.equals("US Dollar - USD") && edittextdollars.length() > 0 && edittexteuros.length()==0) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try{
handler.sendEmptyMessage(0);
convertvalues("EUR","USD");
}
catch (Exception e) {
}
}
});
thread.start();
}
我如何实现这一目标?是带开关还是别的。任何帮助是极大的赞赏。
PS因为我是初学者,如果你也发布代码和你的答案会很棒。那很好啊。再次感谢您。