我试图从另一种方法获取输入,然后使用该输入,但应用程序不等待输入。
我正在运行的代码是
case (R.id.menuSort):
sSort = sortPopup();
layout.removeAllViews();
arrlst.clear();
checkLogs();
其中 sortPopup 是一种创建对话框并返回字符串的方法。当我单击一个按钮时,removeAllViews、clear 和 checkLogs 函数都会在我从对话框中选择一个选项之前启动。
我曾尝试使用等待和通知,但即使在阅读了具有类似问题的多个线程之后,我也无法在程序不崩溃的情况下实现我的目标。
有没有办法阻止 3 个函数在 sortPopup 方法获得结果之前启动?
onPopup 代码如下
public String sortPopup() {
initializePopup(arrsSort);
new AlertDialog.Builder(this).setTitle("Select Sort")
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
if (arrsSort[which] == "Ascending") {
sChoice = "ASC";
} else {
sChoice = "DESC";
}
}
}).create().show();
return sChoice;
}