自定义Dialog实现方式

来源:互联网 发布:古代衣服淘宝 编辑:程序博客网 时间:2024/05/23 16:13

1.附件中创建的自定义dialog ,整体来说封装性比较好,方便操作,但是如果在获取editext的输入值时,比较麻烦,必须在customDialog中获取输入值,然后把值传出去,不能在别的地方去获取值,否则会出现值为空的情况,下面介绍一种简单的方式直接贴代码 :

private void dialog() {
final Dialog dialog = new Dialog(this, ResourceUtil.getStyleId(this, "xl_recommend_dialog_style"));
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(ResourceUtil.getLayoutId(this, "input_dialog"));
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
dialog.getWindow().setGravity(Gravity.CENTER_VERTICAL);
dialog.setCanceledOnTouchOutside(false);
Dialog mDialog = dialog;
final EditText editText = (EditText) mDialog.findViewById(ResourceUtil.getId(this, "xl_input_edittext"));
Button positiveButton = (Button) mDialog.findViewById(ResourceUtil.getId(this, "positiveButton"));
Button negativeButton = (Button) mDialog.findViewById(ResourceUtil.getId(this, "negativeButton"));
TextView textView = (TextView) mDialog.findViewById(ResourceUtil.getId(this, "title"));
textView.setText("输入手机号:");
positiveButton.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "输入的内容为:" + editText.getText().toString(), Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
negativeButton.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});

// dialog.setOnPositiveListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
// // TODO Auto-generated method stub
// dialog.dismiss();
// }
// });
// dialog.setOnNegativeListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// dialog.dismiss();
// }
// });
dialog.show();
}

0 0