У меня есть собственный диалог, который описан ниже.
Макет My Custom Dialog (* my_dialog.xml *), который содержит только кнопку «отклонить»:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
>
<Button
android:id="@+id/dismiss_btn"
android:layout_width="100dip"
android:layout_height="30dip"
android:layout_centerHorizontal="true"
android:text="Dismiss me"
android:textSize="8dip"
android:textColor="#ffffff"
/>
</RelativeLayout>
мой класс просмотра диалогов:
public class MyDialog extends Dialog{
public MyDialog(Context context){
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.my_dialog);
Button dismissMeBtn = (Button)findViewById(R.id.dismiss_btn);
/** ERROR Message when set onClickListener below (throw by eclipse editor)**/
// The method setOnClickListener(View.OnClickListener) in the
// type View is not applicable for the arguments (new DialogInterface.OnClickListener(){})
dismissMeBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MyDialog.this.dismiss();
}
});
getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
}
}
Как и в коде, указанном выше, у меня есть кнопка "* dismiss_btn *" в диалоговом окне, я хотел бы закрыть диалоговое окно при нажатии кнопки отклонения, но я получил ошибку в своем коде когда setOnClickListener для кнопки отклонения (как указано в коде).
Сообщение об ошибке (ошибка, выдаваемая редактором Eclipse):
Метод setOnClickListener (View.OnClickListener) в типе View не применим для аргументов (новый DialogInterface.OnClickListener () {})
Почему я получил ошибку? Почему я не могу установить onClickListener для кнопки в диалоговом окне?