Android开发笔记(11)——DialogFragment & 点击监听
转载请注明:http://www.cnblogs.com/igoslly/p/6931519.html
DialogFragment使用 & 点击监听
/* DialogFragment是用于Activity上展示一个界面的弹出框,如输入框、警告框、确认框等
* DialogFragment单独设置layout XML文件
* 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法;
* onCreateView即使用定义的xml布局文件展示Dialog
* onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。
*/
下面给出我自己写的几个实例:
1、修改姓名的输入框
布局文件:
1、输入的EditBox控件,用于输入新用户名
2、确认的ImageView,点击监控并获取输入字符
3、退出的Button按钮,不做任何修改
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="Please enter new user name ..."
android:inputType="text"
android:id="@+id/opponent_name_edit"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_edit"
android:id="@+id/opponent_name_confirm"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="BACK"
android:textSize="24sp"
android:layout_marginTop="10dp"
android:id="@+id/edit_dialog_back"/>
</LinearLayout>
2、选择内容的点击框
/* DialogFragment活动设置和一般Fragment相同
* 我一般采用onCreateView方法
*/
public class EditDialogue extends DialogFragment { private EditText mNewNameEditText;
private ImageView mNewNameConfirm;
private String player; @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View rootView =inflater.inflate(R.layout.opponent_name_edit,container);
mNewNameEditText = (EditText) rootView.findViewById(R.id.opponent_name_edit);
mNewNameConfirm = (ImageView) rootView.findViewById(R.id.opponent_name_confirm); Button backButton = (Button) rootView.findViewById(R.id.edit_dialog_back);
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player="";
dismiss();
}
});
mNewNameConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player = mNewNameEditText.getText().toString();
setData();dismiss();
}}); return rootView;
}
}
/* 点击检测
* 通常的按钮点击可以在XML文件设置Onclick属性,直接调用MainActivity方法
*/
anroid:OnClick="RecordName"
//Activity中设置函数
public void RecordName(View view){
EditBox editbox = findViewById(R.id.name_edit);
String newName = editbox.getText().toString(); // 此处getText()获取为Editable类型,toString()转换
}
/* 点击检测
* Fragment里则采用OnclickLisener而进行监听
* OnclickLisener是View类的函数,故而不仅对Button,对继承于View的控件均可采用
* 输入框中同时也对ImageView进行了监听,并发送数据关闭Dialog
*/
mNewNameConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player = mNewNameEditText.getText().toString();
setData();dismiss();
}});
本笔记内容均为个人学习整理,转载请注明博客园-igoslly
Android开发笔记(11)——DialogFragment & 点击监听的更多相关文章
- Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮
效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...
- [置顶] Android开发笔记(成长轨迹)
分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...
- 【转】Android开发笔记(序)写在前面的目录
原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...
- Android开发笔记(一百三十四)协调布局CoordinatorLayout
协调布局CoordinatorLayout Android自5.0之后对UI做了较大的提升.一个重大的改进是推出了MaterialDesign库,而该库的基础即为协调布局CoordinatorLayo ...
- 《ArcGIS Runtime SDK for Android开发笔记》
开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步
1.前言 上一篇文章中我们实现了离线要素的编辑操作,这一篇中主要介绍离在线一体化技术中最后一个环节离线数据的同步功能,通过对数据的上传,服务器端的版本化管理,实现数据生产管理的整个流程. 转载请注明出 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
1.前言 学习ArcGIS Runtime SDK开发,其实最推荐的学习方式是直接看官方的教程.示例代码和帮助文档,因为官方的示例一般来说都是目前技术最新,也是最详尽的.对于ArcGIS Runtim ...
- Android开发笔记:打包数据库
对于数据比较多的控制一般会加入SQLite数据库进行数据存储,在打包时这些数据库是不自动打包到apk中的,如何创建数据库呢 方法1:将创建数据库的sql语句在SQLiteHelper继承类中实现,在第 ...
- Android开发笔记--hello world 和目录结构
原文:Android开发笔记--hello world 和目录结构 每接触一个新东西 都有一个hello world的例子. 1.新建项目 2.配置AVD AVD 没有要新建个,如果不能创建 运行SD ...
随机推荐
- 00107_TCP通信
1.TCP通信的概述 (1)TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象: (2)区别在于: ①UDP中只有发送端和接收端,不区分客户端与服务器端,计 ...
- Linux下几种文件传输命令
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- [cf 599D] Spongebob and Squares
据题意: $K=\sum\limits_{i=0}^{n-1}(n-i)*(m-i)$ $K=n^2m-(n+m)\sum{i}+\sum{i^2}$ 展开化简 $m=(6k-n+n^3)/(3n^2 ...
- springCloud学习-消息总线(Spring Cloud Bus)
1.简介 Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现 ...
- [bzoj3037/2068]创世纪[Poi2004]SZP_树形dp_并查集_基环树
创世纪 SZP bzoj-3037/2068 Poi-2004 题目大意:给你n个物品,每个物品可以且仅可以控制一个物品.问:选取一些物品,使得对于任意的一个被选取的物品来讲,都存在一个没有被选取的物 ...
- Oracle数据库点滴
分页查询: SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40)W ...
- N天学习一个linux命令之rsync
用途 主要用于本地和远程主机同步文件 特性 1 使用增量传输算法(delta-transfer algorithm) 2 支持ssh,rsync协议 3 可以用于本地同步文件 4 本地和远程主机都需要 ...
- Ubuntu 17.10安装phpMyAdmin数据库管理工具
和Windows下各种双击安装直接使用的数据库管理工具不同,Linux下的数据库管理工具显得有些稍稍复杂.由于版权和收费限制,很多好用的数据库管理工具例如Data Grip和Navicat不能直接 ...
- HDU 5434
其实是一道状态DP题.都是行与行之间的转移,可以知道,当某j列中有一个象,如果存在情况i-1行j-1列有象而i,j-1位置无象则不可放,或者i-1,j+1有而i,j+1无同样不可放. 使用快速状态转移 ...
- 读写锁(read-write lock)机制-----多线程同步问题的解决
原文: http://blog.chinaunix.net/uid-27177626-id-3791049.html ----------------------------------------- ...