私はAndroidアプリを開発していますが、コードで「Toast.makeText」を使用しているときに、完全に機能している行を削除すると、強制終了の問題に直面しています。誰かがこれの問題を教えてもらえますか?LogCatのスクリーンショットを貼り付けています。
7 に答える
Toast.makeText(MainActivity.this, "Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
Ok。クラス Activity は、クラス Context から拡張されます。Activity で Context を参照するのは正しくありません。Toast を表示したい場合は、Activity を Context として配置するだけです。
Class MainActivtiy extends Activty {
...
Toast.makeText(this,"Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
...
}
内部クラスで呼び出す場合は、次のようにします。
Class MainActivtiy extends Activty {
...
onClick (View v) {
Toast.makeText(MainActivty.this,"Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
}
...
}
幸運を!
解決策を見つけました..それはこのようになります
Toast.makeText(MainActivity.this, "Sending SMS..Please wait..!!",Toast.LENGTH_SHORT).show();
試す
Toast.makeText(this, "Sending SMS..Please Wait..!!",Toast.LENGTH_SHORT).show();
context
変数には値がありません。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.context = this;
}
Thread クラス構造は従来の Java に属し、Android コンテキストを所有していないため、this.context を使用して Thread からコンテキストにアクセスすると、NULLPointerException が発生します。たとえば、null である「this.context」のようにアクセスしようとしました。@SamirMangroliya が提案したように、現在のアクティビティを使用するか、コンテキスト参照を所有するマルチスレッド ASynchTask の Android の方法を使用します。
これはコメントでしたが、元の応答が見つからなかったため、ここにあります
this.context を使用するのではなく、 getApplicationContext() または Your_Class_Name.this を使用すると、この問題は解決されると思います。