Android基础 —— 自定义DiaLog(注意其中的回调的使用)
2015-04-21 22:52
393 查看
在实际开发中常常会用到需要自己定义Dialog的样式和布局等,这时就要使用自定义Dialog。自定义Dialog方法如下:
首先创建布局文件dialog: dialog.xml
其次创建MyDialog类继承Dialog:
最后启动Dialog
首先创建布局文件dialog: dialog.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:orientation="vertical" > <EditText android:layout_width="250dp" android:layout_height="wrap_content" android:id="@+id/name"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" android:id="@+id/button"/> </LinearLayout>
其次创建MyDialog类继承Dialog:
public class MyDialog extends Dialog { private String name; //回调事件 private OnDialogListener onDialogListener; private EditText editText; private Button button; public MyDialog(Context context,String name, OnDialogListener onDialogListener) { super(context); this.name = name; this.onDialogListener = onDialogListener; } //定义回调事件,用于dialog的点击事件 public interface OnDialogListener { public void back(String name); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); //设置标题 setTitle(name); editText = (EditText)this.findViewById(R.id.name); button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new ButtonOnClickListener()); } private final class ButtonOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { //设置回调时带回的信息 onDialogListener.back(editText.getText().toString()); //关闭dialog MyDialog.this.dismiss(); } } }
最后启动Dialog
/** * 点击事件打开Dialog */ public void openDialog(View v) { /** * 注意这里的上下文 (也就是第一个参数)一定不能是getApplicationContext() * 应该是this 或ABETestActivity.this * 注意new MyDialog.OnDialogListener() 是回调的实现并获取信息 */ MyDialog myDailog = new MyDialog(this, "Entry your name :", new MyDialog.OnDialogListener() { @Override public void back(String name) { textView.setText(name); } }); myDailog.show();//显示dialog }
相关文章推荐
- Android中检查自动更新使用Service,其中包含了Service的使用然后还包含了几个自定义的dialog
- Android Appcompat样式使用自定义Dialog
- Android Dialog使用、自定义带动画的Dialog使用
- Java到Android小项目(自定义Dialog)来理解接口回调在项目中的应用
- Android自定义弹框Dialog和Popupwindow的封装使用
- 【Android UI】自定义圆形SeekBar和自定义Dialog的结合使用
- Android基础 Android AsyncTask使用注意事项以及总结
- Android基础之Dialog的使用
- android中dialog(自定义dialog)的使用方法!!!
- Android 自定义Camera基本使用步骤及关键注意点
- Android零基础入门第24节:自定义View简单使用
- Android零基础入门第24节:自定义View简单使用
- Android零基础入门第24节:自定义View简单使用
- Android 使用自定义Dialog打造ActionSheet菜单
- Android零基础入门第24节:自定义View简单使用
- Android基础_需要使用adapter的控件,以及对BaseAdapter及其中的ViewHolder进行重构(三)
- Android基础_常见Adapter/ExpandListView/Dialog/PopupWindow/自定义AlertDialog/单元测试/转移文件到SD卡(四)
- Android:使用自定义keystore的方法及注意事项
- android 之 Fragment 中使用 DialogFragment 创建回调
- Android自定义Dialog带分隔的8位输入框按钮回调输入值