我有一个如图所示的对话框片段,显示一个好的按钮和一个取消按钮。如何检查是否单击了对话框片段的“确定”按钮。以下是代码段
DialogFragment dialog = TextEditDialogFragment.newInstance(FragmentActivity.this,
R.id.profile_setting_linear_layout_name, name, R.string.firstname, R.string.ok, R.string.cancel);
dialog.show(getFragmentManager(), "First Name");
if(ok button is clicked){
//do something else
}
非常感谢
答案 0 :(得分:0)
试试这个 在您的活动顶部,以便您可以访问活动中的任何位置
//declare boolean
public boolean clicked=false;
按钮在您的对话框按钮上执行点击事件onclick listener,如下所示
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
//button is clicked change boolean value
clicked=true;
}
});
现在根据您的要求执行点击或未点击按钮的操作 如果(点击) { //在这里执行你的行动 } 其他 { // 其他行为 }
答案 1 :(得分:0)
见这个
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
public class AlertDFragment extends DialogFragment {
private EventListenr el;
public void setListenre(EventListenr el){
this.el=el;}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
// Set Dialog Icon
.setIcon(R.drawable.androidhappy)
// Set Dialog Title
.setTitle("Alert DialogFragment")
// Set Dialog Message
.setMessage("Alert DialogFragment Tutorial")
// Positive button
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Do something else
el.okClick();
}
})
// Negative Button
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Do something else
}
}).create();
}
}
interface EventListener{
void okClick();
}
on Activity等。
alertDialog.setLisnter(this);
通过EventListenr实现活动或片段
答案 2 :(得分:0)
试试这个。
上课:
private boolean clicked;
构建对话框时:
Dialog dl = dialog.getDialog();
Button button = dl.findViewbyid(R.id.btn); //Replace with dialog button ID
button.setOnclicklistener(new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
clicked = true;
}
});