У меня есть 2 кнопки в моем XML файле с RelativeLayout. В моем классе я расширил Dialog и выполнил OnClickListener, а также добавил метод OnClick (View v). Но почему-то код onClick никогда не выполняется при нажатии кнопки. Может ли кто-нибудь помочь мне найти проблему с моим кодом:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="vertical"
android:padding="10px">
......
<Button android:id="@+id/saveBtn_settingDlg" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_below="@+id/editText1"
android:layout_marginLeft="10px" android:text="Save" />
<Button android:id="@+id/closeBtn_settingDlg" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Close" android:layout_alignBaseline="@+id/saveBtn_setting"
android:layout_toRightOf="@+id/saveBtn_setting" android:onClick="CloseDialog" />
Класс
public class SettingDialog extends Dialog implements OnClickListener {
private Button btn_save, btn_close;
// In Constructor
btn_save = (Button) findViewById(R.id.saveBtn_settingDlg);
btn_close = (Button) findViewById(R.id.closeBtn_settingDlg);
btn_save.setOnClickListener(this);
btn_close.setOnClickListener(this);
@Override
public void onClick(View v) {
if (v == btn_save)
SaveSettings();
else if (v == btn_close)
CloseDialog();
return;
}
private void CloseDialog() {
disposeAll();
this.dismiss();
}
public void CloseBtnClicked(View v) {
CloseDialog();
}
В xml для close btn я попробовал CloseBtnClicked также, но никакой разницы, и я получаю сообщение UnexpectedError и приложение отключается. Так или иначе событие не активируется никоим образом. А также при добавлении onClick к closebtn кнопка теперь отображается в верхнем левом углу экрана и потеряла фактическое местоположение.
Вызов SettingDialog из класса Activity:
private void OpenSettingDialog() {
AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setIcon(R.drawable.ic_dialog_small);
View inflatedView = LayoutInflater.from(this).inflate(R.layout.settings_dialog, null);
ad.setView(inflatedView);
AlertDialog adlg = ad.create();
adlg.show();
}
Может кто-нибудь помочь мне узнать причину этой проблемы и как ее решить. Я новичок в Android.
Спасибо