我是android開發的新手。我試圖通過在layout.xml中使用android:onClick爲自定義對話框中的按鈕設置事件處理程序。但是當我調試應用程序時,它表示在點擊自定義對話框中的按鈕時找不到源代碼。但是,當我在佈局文件中使用事件監聽器而不是屬性時,它運行良好。Android:如何通過android:onClick在custom_layout.xml中爲自定義對話框中的按鈕添加事件處理程序?
下面是一些代碼
其中包含按鈕1及以下主要業務是該按鈕的事件處理程序
public void onClickButton1(View v)
{
MyCustomDialog a = new MyCustomDialog(this);
a.show();
}
,這裏是MyCustomDialog類,另一個Java文件
public class MyCustomDialog extends Dialog {
Context m_context;
public MyCustomDialog (Context context) {
super(context);
// TODO Auto-generated constructor stub
this.m_context = context;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle("Custom Dialog");
this.setContentView(R.layout.custom_dialog);
}
public void onClickButtonInDialog(View v)
{
AlertDialog a = new AlertDialog.Builder(this.m_context).create();
a.setTitle("Ok");
a.show();
}
}
而且最後一個是自定義對話框佈局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button_in_dialog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="onClickButtonInDialog"
android:text="Add" />
</RelativeLayout>
您可以發佈上面使用代碼時的logcat輸出嗎? – varevarao