2011-10-14 9 views
5

をずれています:Toast.makeText(...)ショーは、()時々私は、ダイアログからの結果を表示するためにToast.makeTextを使用し、少し奇妙な問題を抱えてい

メッセージがフレームにずれています。それをより整えてください。 [_ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _ __ ___]

私は一般的に、ダイアログから

Toast bread = Toast.makeText(getContext(), R.string.message, Toast.LENGTH_LONG); 
bread.show(); 

のように見えるのコードを使用しています。私は悪い文脈がインフレーションの問題を引き起こすことがありますが、getOwnerActivity()がnullを返していると聞きました。いずれにしても、私はgetContext()が、コンストラクタ時に渡されたコンテキストを供給すると考えていました。

提案がありますか?

+2

ダイアログクラス内から利用可能 –

答えて

20

あなたはこれを試すことができます:あなたが活動の中からトーストを作成した場合

Toast bread = Toast.makeText(getApplicationContext(), R.string.message, Toast.LENGTH_LONG); 
bread.show(); 
+0

...)(getApplicationContextでのgetContext()を変更しないようにしようが、 'のgetContext()。getApplicationContext()'の仕事でしょうか? –

+0

それは、感謝の治療を働いた!あなたはこの答え –

+0

それは申し訳ありませんが、私はすぐにそれをマークしているだろうが、事は、あなたが10分待ってから、私は忘れてます質問のコメントとして書かれていました。おかげ@VitoSmith –

1

はあなたが使用する必要があります。コンテキストパラメータとしてthisまたはMyActivityName.thisを。

+0

それはダイアログからだが、おかげでとにかく。 –

3
bread.setGravity(5,5,5); 

正確な位置になるまで値を変更して遊んでみてください。

しかしGravity.CENTERや他の定数を使用してprefererrd方法..です

1

は、使用してマニフェストファイルの

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:anyDensity="true" /> 

を試してみてください。

関連する問題