获得对话的价值

时间:2016-04-28 18:27:47

标签: android

我有一个自定义对话框的类,我需要知道dimiss时在这个类上点击了什么值并在我的活动中使用它。我该怎么做?。 这是代码:

public class ViewDialog {
public void showDialog(final Activity activity, String msg, String idFriend){
    final Dialog dialog = new Dialog(activity);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setCancelable(false);
    dialog.setContentView(R.layout.dialog_friends);
    String info; 

    TextView text = (TextView) dialog.findViewById(R.id.text_dialog);
    text.setText(msg);

    Button dialogButton = (Button) dialog.findViewById(R.id.my_btn1);
    dialogButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           info = "Button 1";
        }
    });

Button dialogButton2 = (Button) dialog.findViewById(R.id.my_btn2);
    dialogButton2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           info = "Button 2";
        }
    });
}

}

并致电活动:

ViewDialog alert = new ViewDialog();
    alert.showDialog(this, "Test", item.getFriendIconeRid());
     //show value of info String

1 个答案:

答案 0 :(得分:0)

1。您可以在Activity中添加一些变量;在对话框中,您有Activity的链接,只需设置activity.your_variable = "info1/2"

2. 如果您需要处理点击按钮,可以在Activity中进行一些处理方法,然后在对话框activity.your_method中进行处理。

3. 此外,您甚至可以Activity实施OnClickListener。 在对话框中,将Activity设置为OnClickListener到您的ButtonsonClick()中,您可以找到传入Viewv.getId())的ID,并根据该ID进行操作。

PS。无论如何,不​​需要为每个按钮单独制作OnClickListener对象。
让您的Dialog工具OnClickListener并根据View ID进行操作。