8

android4.1mobileでトーストメッセージが表示されません。昨日までトーストメッセージを見ることができました。今日から私だけがメッセージを見ることができません。私を助けてください。

Toast.makeText(getApplicationContext(), "hi", Toast.LENGTH_SHORT).show(); 

トーストメッセージの代わりにカスタムトーストメッセージも試してみました。しかし、まだ機能していません。

カスタムトースト:

LayoutInflater inflater=getLayoutInflater(); 
View layout = inflater.inflate(R.layout.toast_layout,(ViewGroup) findViewById(R.id.toast_layout_root)); 
TextView text = (TextView) layout.findViewById(R.id.text); 
text.setText("Please fill Name"); 
Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show();
4

5 に答える 5

49

アプリの設定で[通知を表示]がオフになっているため、Android4.1ではToastが表示されませんでした。[設定]->[アプリケーションの管理]->[マイアプリ]に移動し、[通知を表示]をオンにすると、トーストが表示され始めました。

于 2013-01-05T08:30:45.990 に答える
8

これに変更して、もう一度確認してください。

if(first_name.length() == 0) 
{ 
    Toast.makeText(NameOfYourActivity.this, "Please fill Name", Toast.LENGTH_SHORT).show(); 
    Utilities.writeIntoLog("Please fill Name"); 
}
于 2012-08-28T12:53:52.407 に答える
7

ここにグーグルコードのリンクを投稿してください。

Jelly Bean以降、ユーザーは「アプリの詳細」設定を介して特定のアプリの通知を無効にできます。

非常に悪い望ましくない副作用は、通知が無効になると、ユーザーがアプリを実行している場合でも、トーストメッセージも無効になることです。

設計ガイドラインでトーストを使用することをお勧めしますが、ユーザーがトーストを削除する可能性がある場合、特にトーストされたメッセージがユーザーに表示する重要なフィードバックである場合は、トーストを使用することをお勧めします...

少なくとも、アプリがバックグラウンドにあるときにトーストを無効にできることは理解していますが、フォアグラウンドアクティビティの場合は無効にできません。

于 2012-12-24T08:30:15.423 に答える
2

Toastは、Androidのすべてのバージョンで正常に機能しています。コードには次のような問題がいくつかある可能性があります

  1. あなたの文脈は間違っていません
  2. ワーカースレッドではなくバックグラウンドスレッドでトーストを表示しようとしています。

編集 カスタムトーストでは、レイアウトインフレータに親を設定しないでください。たとえば、次のように使用します。

View layout = inflater.inflate(R.layout.toast_layout,null);
于 2012-08-29T04:10:28.467 に答える
0

私も同じ問題を抱えていました。UIスレッドでコードを呼び出すと、問題は解決しました

public void showToastMessage(final String msg) {

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Toast.makeText(BaseActivity.this, msg, Toast.LENGTH_LONG).show();
        }
    });
}
于 2017-09-04T09:11:28.360 に答える