`

Android自定义dialog向Activity传递数据

 
阅读更多

自定义对话框:

 

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.OnClickListener
		button_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 自定义Dialog接口回调参数

    该项目的主要功能是如何自定义Dialog,并通过接口回调的方式把参数传递到activity或者Fragment,主要强调的是一种思想,同时,也阐述了如何改变一个字符串中某部分文字的颜色,需要的小伙伴可以下载

    底部自定以dialog添加recyclerView

    用MVP写的一个自定义dialog,dialog里添加的recyclerView,item为一个滑动条的自定义控件,滑动dialog里的滑动条,会把值传递到activity中.

    Android 初学案例

    内容比较多,分数也相对比较高...包括activity的切换兼intent传递Class class数据 7-8中dialog和自定义dialog的用法 存储数据 还有更加友好的提示(toast和通知)...intent action的应用 等。希望可以帮助各位初学者。

    Android开发艺术探索.任玉刚(带详细书签).pdf

    本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层...

    Android开发艺术探索

    《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些...

    Android典型技术模块开发详解

    3.4.1 Activity传递一般类型 3.4.2 Activity传递对象类型 3.4.2 Activity回传数据 3.5 Activity加载模式 3.6 本章小结 第4章 Intent (意图) 4.1 显式Intent 4.2 隐式Intent 4.2.1 IntentFilter 4.2.2 调用系统组件...

    android开发艺术探索高清完整版PDF

    / 301 8.2.3 Window的更新过程 / 303 8.3 Window的创建过程 / 304 8.3.1 Activity的Window创建过程 / 304 8.3.2 Dialog的Window创建过程 / 308 8.3.3 Toast的Window创建过程 / 311 第9章 四大组件的工作过程 ...

    android 面试2

     答:在AndriodMinifest.xml文件中配置Activity的属性的主题为android:theme="@android:style/Theme.Dialog"  4. 如何退出Activity?如何安全退出已调用多个Activity的Application?  答:单个的Activity,调用...

    Android开发资料合集-World版!

    2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、...

    Android 开发技巧

    2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、...

Global site tag (gtag.js) - Google Analytics