2016-05-13 18 views
0

なぜこれが起こっているのか正確にはわかりません。私はいくつかの研究をしてきましたが、状況はあまりにも曖昧であり、私は解決策を探すことさえ困難です。トーストは実際のデバイスでは動作しませんが、エミュレータでうまく動作します

私は、Android Studioを使用してアプリケーションを作成し、そしてToast機能は、コードのこれら二つのシンプルなライン使用して正常に動作する仮想エミュレータ上で実行されていた - 私は自分の携帯電話でこれを実行すると

Toast temp = Toast.makeText(MainActivity.this, "Username and password don't  match", Toast.LENGTH_SHORT); 
    temp.show(); 

をしかし、 、アプリはクラッシュし続けます。私はギャラクシーグランドプライムを持っており、それが重要かどうかは分からない。やる

Toast.makeText(getApplicationContext(), "Username and password don't  match", Toast.LENGTH_SHORT).show(); 

を以下

+1

あなたのlogcatの詳細を投稿すると、エラーが表示されます – Shubhank

+0

メインスレッドでこのコードを呼び出していますか?これらの2行は文脈が十分ではなく、通常の場合にはうまくいくはずです。 – npace

答えて

1

あなたはActivityから実行している場合、これは断片である場合、これは非で行われている場合は、getActivity()

Toast.makeText(getActivity(), "Username and password don't  match", Toast.LENGTH_SHORT).show(); 

を使用することを忘れないでくださいUIスレッドを使用してコンテキストを取得し、それをmakeTextメソッドに渡して、runOnUIThreadメソッドを使用します。

Toast.makeText(context_of_caller, "Username and password don't  match", Toast.LENGTH_SHORT).show(); 
+0

ありがとう! – HolyMeow

関連する問題