2016-04-28 71 views
-1

我有一個自定義對話框的類,我需要知道在這個類中點擊了什麼值,並且在我的活動中使用它。我該怎麼做?。 這是代碼:獲取對話框的值

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 
+0

你是什麼意思**在這門課上點擊了什麼值**? –

回答

0

你可以做一些變量在您的Activity;
在對話框中你有一個鏈接到你的Activity,只需設置activity.your_variable = "info1/2"

2.如果你需要處理的點擊按鈕,你可以做一些處理方法Activity,然後在對話框中調用activity.your_method

3.此外,你甚至可以讓你的Activity實施OnClickListener
在對話框中,將您的Activity設置爲OnClickListener爲您的Buttons
而在onClick()你可以找到傳入Viewv.getId())的ID,並根據這使你的行爲。

PS。無論如何,不​​需要爲每個按鈕分別製作OnClickListener對象。
使您的Dialog實施OnClickListener並取決於View ID使您的行爲。

+0

很好,解決了這個問題。謝謝 –