Android自定义dialog向Activity传递数据
16lz
2021-01-26
自定义对话框:
package org.lee.android;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class InputDialog extends Dialog {private Context context;private EditText editText;private Button button_sure;private Button button_cancel;public OnSureClickListener mListener;public InputDialog(Context context) {super(context);this.context = context;}public InputDialog(Context context, OnSureClickListener listener) {super(context);mListener = listener;}protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.setContentView(R.layout.project_edit_dialog);setView();}private void setView() {button_sure = (Button) findViewById(R.id.button_project_dialog_sure);button_cancel = (Button) findViewById(R.id.button_project_dialog_cancel);editText = (EditText) findViewById(R.id.edit_project_new_name);// 这里的监听事件,因为该类继承lDialog类的DialogInterface,而DialogInterface中也有OnClickListener,因此需要用到全名View.OnClickListenerbutton_sure.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {mListener.getText(editText.getText().toString());dismiss();}});button_cancel.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {mListener.getText(editText.getText().toString());// 在Button监听事件中实现这一方法dismiss();}});}public interface OnSureClickListener {void getText(String string); // 声明获取EditText中数据的接口}}
Activity中调用方法:
OnClickListener click_new = new OnClickListener() {public void onClick(View v) {OnSureClickListener listener1 = new OnSureClickListener() {public void getText(String string) {inputFile = string;try {addFile();} catch (IOException e) {}}};InputDialog d1 = new InputDialog(ProjectActivity.this, listener1);d1.show();} };
更多相关文章
- android pageview 类 滑动跟随
- 使用View绘制虚线时demo,方便复习
- 自定义Android(安卓)ORM 框架greenDAO数据库文件的路径
- 自定义AnimationDrawable动画播放完监听
- Android(安卓)EditText简单实现右侧点击清除
- 监听BatteryManager.EXTRA_PLUGGED无效的修改
- RXjava+Retrofit二级购物车
- Android(安卓)获取手机应用信息
- 关于Listview的一个没有notifyDataSetChanged导致的错误