簡體   English   中英

如何在Android中的活動中自定義對話框中單擊視圖?

[英]How to get onclick of a view in custom dialog in an activity in android?

如何在Android中的活動中自定義對話框中單擊視圖?

我的XML是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/default_green"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvSetNotificationsHeading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="5dp"
        android:text="Set Notifications On"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/white" />

    <RadioButton
        android:id="@+id/rbFriendRequest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:text="Friend Request"
        android:textColor="@android:color/white" />

    <RadioButton
        android:id="@+id/rbMessages"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="5dp"
        android:text="Messages"
        android:textColor="@android:color/white" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="5dp"
        android:onClick="saveSetNotificationsDialog"
        android:text="Save" />

</LinearLayout>

我的代碼是:

 public void showSetNotificationsDialog(View v) {

            dialog = new Dialog(Activity_Settings.this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setContentView(R.layout.dialog_setnotificationsdialog);
            rbFriendRequest = (RadioButton)  findViewById(R.id.rbFriendRequest);
            rbMessages = (RadioButton) findViewById(R.id.rbMessages);
            dialog.show();
        }

我能夠顯示對話框視圖但無法在活動類中單擊對話框保存按鈕。 錯誤是沒有找到方法異常。

使用findViewById()的對話框實例

Button declineButton = (Button) dialog.findViewById(R.id.declineButton);

            declineButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Close dialog
                    dialog.dismiss();
                }
            });

使用如下代碼

 dialog = new Dialog(Activity_Settings.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    View view = View.inflate(getActivity(), R.layout.dialog_setnotificationsdialog, null);
    dialog.setContentView(view);
    //always find your view view.findViewbyid
     yourView= (RadioButton)  view.findViewById(R.id.rbFriendRequest);
    //then you can add on click listner to any of your view i.e. 
yourView.setonClickListener(this);(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Close dialog
                    dialog.dismiss();
                }
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM