Ответ 1
Мне понравилось это
Toast.makeText(SalesActivityGroup.group.getParent(), "Amount can not be
grater than invoice", Toast.LENGTH_SHORT).show();
У меня есть кнопка. Когда пользователь нажимает кнопку, есть какое-то условие, это условие не удовлетворяет, тогда нужно отображать Toast, но не показывать Toast Message...
Код: Отредактировано
Button addMe = (Button)findViewById(R.id.addMe);
addMe.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(selectedReason.equals("--Select--")){
Log.i("TAG","-----");
Toast.makeText(getBaseContext(), "Reason can not be blank", Toast.LENGTH_SHORT).show();
}else if(selectedType.equals("--Select--")){
Toast.makeText(getParent(), "Discount type can not be blank", Toast.LENGTH_SHORT).show();
}else{
if(selectedType.equals("Value")){
if(spc_amount.getText().toString().equals("")){
Log.i("TAG","-----");
Toast.makeText(getBaseContext(), "Discount type can not be blank", Toast.LENGTH_SHORT).show();
}else{
if(Double.parseDouble(spc_amount.getText().toString()) > invoiceValue){
Toast.makeText(getBaseContext(), "Amonut can not be grater than invoice", Toast.LENGTH_SHORT).show();
}else{
Discount dis = new Discount();
dis.setCriteriaName(selectedReason);
dis.setDiscountValue(Double.parseDouble(spc_amount.getText().toString()));
spDisList.put(1,dis);
tl.removeAllViews();
loadTableLayout();
}
}
}
}
}
});
Я пробовал контекст с getParent()
, getApplicationContext()
, SpecialDiscountActivity.this
и getBaseContext()
, но не работал.
Это сообщение Toast
, подпадающее под Tab Activity Group
Мне понравилось это
Toast.makeText(SalesActivityGroup.group.getParent(), "Amount can not be
grater than invoice", Toast.LENGTH_SHORT).show();
Try:
Toast.makeText(getBaseContext(), "Reason can not be blank", Toast.LENGTH_SHORT).show();
Это .show(), который вы опускаете повсюду, что заставляет все ваши тосты устанавливать, но никогда не выполнять.
Я думаю, что вам не хватает .show();
Это должно быть...
Toast.makeText(getBaseContext(), "Amount can not be grater than invoice",
Toast.LENGTH_SHORT).show();
Пожалуйста, извините меня, если это не решение вашей проблемы, но я случайно отключил параметр "Показать уведомление" приложения один раз. Возможно, идея входит в настройки вашего устройства/приложение/менеджер и проверяет этот параметр.
Возможно, вы не в потоке пользовательского интерфейса? Попробуйте следующее: http://developer.android.com/reference/android/app/Activity.html#runOnUiThread%28java.lang.Runnable%29
Просто наткнулся на эту проблему и задавался вопросом, как простой тост не появляется. После нескольких испытаний мне пришло в голову проверить настройки уведомлений в приложении и вуаля.
Я включил настройку уведомлений, и она начала появляться. Я искал и наткнулся на ссылку ниже, которая говорит о том же:
Там может быть две возможности:
1 - Вы не .show();
в самом конце Toast.makeText(getActivity(), "Hi", Toast.LENGTH_SHORT)
.
2 - Может быть ситуация, когда вы не проходите правильный контекст
Для этого попробуйте передать getActivity().getApplicationContext();
который в моем случае решил проблему.
Удачи :)
Просто перезагрузите ваше устройство! Это решило мою проблему.
Вы можете использовать контекст Activity
как
Toast.makeText(ActivityName.this,"Reason can not be blank", Toast.LENGTH_SHORT).show()
, если это не работает, поместите log.i();
в каждое ваше условие, может быть, он перейдет к последнему, и вы не получите Toast.
Если Toast не отображается, это означает, что либо вы не вызвали метод show()
либо вы не в потоке пользовательского интерфейса
В идеале вы должны создать вспомогательный метод для отображения Toast, как это в потоке пользовательского интерфейса.
/** Execute Toast on UI thread **/
private fun showToast(message: String) {
Handler().post {
// Code here will run in UI thread
Toast.makeText(
this,
message,
Toast.LENGTH_LONG
).show()
}
}
Try:
Toast.makeText(v.getContext(), "Reason can not be blank", Toast.LENGTH_SHORT).show();
Complimer проверяет весь код, и если есть критическая ошибка, он игнорирует даже строки перед секцией ошибок, и поэтому вы не увидите "Toast". Просто прокомментируйте строки, в которых происходит ошибка (вы можете найти строки ошибок в Logcat) Теперь вы можете увидеть "Toast" и можете проанализировать вашу проблему.