3

ダイアログを拡張します

Java コード

public class Dialog_query extends Dialog implements OnClickListener {   

}  

XML を介してインターフェイスを定義します ここに画像の説明を入力

日期1をクリックして日付を選択したいコードは次のとおりです記録として:コードボタン

Java ボタン

Button btn=(Button)findViewById(R.id.BtnDate);           
        btn.setOnClickListener(new View.OnClickListener() {   
          public void onClick(View v) {   
            new DatePickerDialog(Dialog_query.this,   
                d2,   
                dateAndTime.get(Calendar.YEAR),   
                dateAndTime.get(Calendar.MONTH),   
                dateAndTime.get(Calendar.DAY_OF_MONTH)   
                ).show();   
          }   
        }); 

ここでの質問は、「コンストラクター DatePickerDialog(Dialog_query, DatePickerDialog.OnDateSetListener, int, int, int) は未定義です」と指摘することです

後でここに「Toast.makeText(LoginSuccess.this, "アジャイル ソフトウェア 1.0 について", Toast.LENGTH_LONG).show();」を追加することがわかりました。

また、「Toast 型のメソッド makeText(Context, CharSequence, int) は、引数 (Dialog_query, String, int) には適用できません」とも指摘します。

しかし、「コードボタン」はActivityにあります。

場合によっては、なぜこのような間違いが生じるのでしょうか?

4

1 に答える 1

5

Dialog_query はダイアログから継承しています。ただし、Dialog クラスは Activity から継承しません: http://developer.android.com/reference/android/app/Dialog.html

DatePickerDialog のコンストラクターには、コンテキストまたはアクティビティが必要です。Dialog_query.this の代わりにアクティビティの名前を入力してください

new DatePickerDialog(ActivityName.this,   
                d2,   
                dateAndTime.get(Calendar.YEAR),   
                dateAndTime.get(Calendar.MONTH),   
                dateAndTime.get(Calendar.DAY_OF_MONTH)   
                ).show(); 
于 2012-08-24T07:10:36.273 に答える