2017-10-31 6 views
-3

Androidスタジオで3つのボタンを表示するAlertDialogを作成しましたが、予約語 "this"にエラーが表示されます。添付画像では、ソースコードをより詳細に表示することができます。builderが適用されないandroid(Alertdialog)

Android Studio Screenshot

どのように私はこのエラーを解決することができますか?

private void muestraDialogo2() { 

    AlertDialog.Builder builder2 = new AlertDialog.Builder(this); 
    builder2.setTitle("Lista de muestra"); 
    builder2.setMessage("Tipos de muestra"); 
    builder2.setCancelable(false); 

    builder2.setPositiveButton("Imprimir todas", new DialogInterface.OnClickListener() { 


     public void onClick(DialogInterface dialog, int id) { 
      Toast.makeText(Main3Activity.this, "Imprimiendo...*", Toast.LENGTH_SHORT).show(); 

     } 


    }); 
+0

ため

AlertDialog.Builder builder2 = new AlertDialog.Builder(this); 

あなたはもう少し詳細に移動したい場合があります。あなたがやっていること、なぜそれをやっているのかなどを提供してください。 –

+0

このメソッドをOnClickListenerの匿名クラス本体の中に入れたのはなぜですか?あなたはJavaを知っていますか? – Selvin

答えて

0

AlertDialog.Builderコンストラクタで間違ったパラメータを渡しています。行50では、このオブジェクトはView.OnClickListenerクラスを参照し、有効なコンテキストオブジェクトは参照しません。

変更行:

AlertDialog.Builder builder2 = new AlertDialog.Builder(Main3Activity.this); 
+0

ありがとうございます。エラーを修正しました。 – Airbeat

+0

@Airbeat素晴らしい!私の答えを受け入れてください! –

関連する問題