別のメソッドから入力を取得しようとしていて、後でその入力を使用していますが、アプリは入力を待ちません。
私が実行しているコードは
case (R.id.menuSort):
sSort = sortPopup();
layout.removeAllViews();
arrlst.clear();
checkLogs();
ここで、sortPopup は、ダイアログを作成して文字列を返すメソッドです。ボタンをクリックすると、ダイアログからオプションを選択する前に、removeAllViews、clear、および checkLogs 関数がすべて開始されます。
待機と通知を使用しようとしましたが、この同様の問題でいくつかのスレッドを読んだ後でも、プログラムがクラッシュせずに目標を達成できません。
sortPopup メソッドから結果が得られる前に 3 つの関数が開始されないようにする方法はありますか?
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;
}