Попробуйте это:
final Toast toast = Toast.makeText(parent.getContext(), "You chose "
+ parent.getItemAtPosition(pos).toString() + " to delay",
Toast.LENGTH_LONG);
Runnable showToastRunnable = new Runnable() {
public void run() {
toast.show();
}
};
if (pos == 0) {
handler.postDelayed(showToastRunnable, 0);
} else if (pos == 1) {
handler.postDelayed(showToastRunnable, 15000);
} else if (pos == 2) {
handler.postDelayed(showToastRunnable, 30000);
} else if (pos == 3) {
handler.postDelayed(showToastRunnable, 60000);
}
Edit:
Кстати, я хочу перенести это на кнопку отправки, я хочу отложить тост «Сообщение отправлено» в соответствии с задержкой, выбранной пользователем. Как мне это реализовать?
Как вы получаете задержку? Это что-то, что пользователь вводит в EditText
?
В этом случае вы можете просто получить задержку следующим образом:
int delay = Integer.parseInt(delayEditText.getText().toString());
, а затем используйте эту величину задержки, чтобы отправить обработчик в обработчик следующим образом:
handler.postDelayed(showToastRunnable, delay);
В этом случае вы можете удалить весь блок if-else.