2013-12-04 2 views
2

У меня есть приложение, которое использует Toast, и я протестировал его на Samsung Galaxy II с помощью Android 4.3, и он отлично работает.Toast не появляется на Android 4.4 KitKat

Я недавно получил Nexus 5 под управлением Android 4.4 KitKat, и когда я пытаюсь загрузить Toast, он не появляется.

Убрано Toast или изменен синтаксис в KitKat?

Это код, я использую, чтобы сделать и вызвать Тост:

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) 
{ 
    int itemId = item.getItemId(); 
    switch (itemId) { 

    case R.id.action_settings: 
     Log.e("TOAST","This was called"); 
     Toast.makeText(MainActivity.this, "This is my Toast message!",Toast.LENGTH_LONG).show(); 
     break; 
    } 
    return true; 
} 

Я Отлаживал код и шагнул через эту часть построчно, так что, безусловно, будет вызван, но ничего не происходит.

+0

Работает ли 'getBaseContext()' как первый аргумент? –

+0

Что касается 'Context', возможно [этот ответ по другому вопросу] (http://stackoverflow.com/a/10347346/2821954) может вам помочь. –

+0

Проверьте эту ссылку: http://stackoverflow.com/questions/1026973/android-whats-the-difference-between-the-various-methods-to-get-a-context –

ответ

2

Использование this вместо getApplicationContext()

+2

любая конкретная причина, почему он должен использовать Activity.this вместо getApplicationContext()? –

+0

@PareshMayani: Здесь требуется только «контекст» (ссылка) «текущей активности», а не контекст «application» –

+0

@MehulJoisar. Оба приложения и контекстный контекст могут использоваться с Toast, поскольку Toast не привязан к окно и может отображаться повсюду в вашем приложении. См. [Toast.makeText] (http://developer.android.com/reference/android/widget/Toast.html#makeText%28android.content.Context,%20java.lang.CharSequence,%20int%29) – AlexS

0

Лучше использовать YourActivity.this вместо getApplicationContext()

EDIT:

код кажется valid.the вопрос либо nexus или kitkat.

  • Попробуйте перезагрузить камеру.
  • Попробуйте обжарить тост от onResume(). просто чтобы убедиться, что он отлично работает от UI thread.
+1

любая конкретная причина, почему он должен использовать Activity.this вместо getApplicationContext()? –

+2

@PareshMayani Проверьте эту ссылку: http://stackoverflow.com/questions/1026973/android-whats-the-difference-between-the-various-methods-to-get-a-context –

+0

@ shree202 Спасибо за ссылку:) lol –

Смежные вопросы