Android 带password输入界面的Dialog实现机制
1.布局实现:
- <?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:gravity="center_horizontal"
- android:orientation="vertical">
- <EditText
- android:id="@+id/FactRstDialogPsw"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:password="true"
- android:singleLine="true"/>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_weight="2">
- <Button
- android:id="@+id/FactRstDialogCancel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:text="@string/cancel"
- android:layout_weight="1"/>
- <Button
- android:id="@+id/FactRstDialogCertain"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:text="@string/user_dict_settings_add_dialog_confirm"
- android:layout_weight="1"/>
- </LinearLayout>
- </LinearLayout>
2.代码实现:
- import android.app.Dialog;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import com.mediatek.common.featureoption.FeatureOption;
- public class MasterClearConfirm extends Fragment {
- //cbk.add
- private Dialog mFactRstPwsCheckDialog;
- private Button cancelButton;
- private Button okButton;
- private EditText pswEdit;
- //cbk.add
- private Button.OnClickListener mFinalClickListener = new Button.OnClickListener() {
- public void onClick(View v) {
- if (Utils.isMonkeyRunning()) {
- return;
- }
- /// M:For CT feature resetPhone with mEraseInternalData: data | app | media
- //cbk.add
- //mExt.onResetPhone(getActivity(), mEraseInternalData, mEraseSdCard);
- createFactoryResetPwdDialog();
- //cbk.add
- }
- };
- //cbk.add
- private void createFactoryResetPwdDialog() {
- if (mFactRstPwsCheckDialog == null) {
- mFactRstPwsCheckDialog = new Dialog(getActivity());
- //mFactRstPwsCheckDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- mFactRstPwsCheckDialog.setContentView(R.layout.factory_rst_pwd_dialog);
- mFactRstPwsCheckDialog.setTitle("please input password:");
- pswEdit = (EditText)mFactRstPwsCheckDialog.findViewById(R.id.FactRstDialogPsw);
- cancelButton = (Button)mFactRstPwsCheckDialog.findViewById(R.id.FactRstDialogCancel);
- okButton = (Button)mFactRstPwsCheckDialog.findViewById(R.id.FactRstDialogCertain);
- cancelButton.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(View source)
- {
- mFactRstPwsCheckDialog.dismiss();//finish();
- }
- });
- okButton.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(View source)
- {
- onPairPassword(pswEdit.getText().toString());
- pswEdit.setText(null);
- }
- });
- }
- if (mFactRstPwsCheckDialog != null) {
- mFactRstPwsCheckDialog.show();
- }
- }
- private boolean onPairPassword(String value){
- //Log.d(TAG, "onPairPassword() pwd value=" +value);
- boolean pwdvalid=false;
- if(value ==null ){
- //Log.d(TAG, "onPairPassword() value ==null");
- Toast.makeText(getActivity(), getString(R.string.settings_pwd_empty_str), Toast.LENGTH_SHORT).show();
- return false;
- }
- if(value.length()<=0 ){
- //Log.d(TAG, "onPairPassword() value ==null");
- Toast.makeText(getActivity(), getString(R.string.settings_pwd_empty_str), Toast.LENGTH_SHORT).show();
- return false;
- }
- String def_pwd_value =getString(R.string.settings_pwd_def);
- //if(value.length() !=6 || isNumeric(value) ==false){
- if(value.length() < def_pwd_value.length()){
- //add the item into the Locked list.
- //Log.d(TAG, "onPairPassword() value ==valid");
- Toast.makeText(getActivity(), getString(R.string.settings_pwd_wrong_str), Toast.LENGTH_SHORT).show();
- return false;
- }
- //Log.d(TAG, "onPairPassword() pwd_length =" +value.length() );
- if (value.equals(def_pwd_value)) {
- //add the item into the Locked list.
- //Log.d(TAG, "onPairPassword() mPref.contains(PWD_PREF_NAME) ==true");
- //no store the pwd activity
- mFactRstPwsCheckDialog.dismiss();//finish();
- mExt.onResetPhone(getActivity(), mEraseInternalData, mEraseSdCard);
- return true;
- }
- Toast.makeText(getActivity(), getString(R.string.settings_pwd_wrong_str), Toast.LENGTH_SHORT).show();
- return false;
- }
- //cbk.add
- }
Android 带password输入界面的Dialog实现机制的更多相关文章
- VMware Workstation 15 Pro安装带图形化界面的CentOS7
1.双击打开“VMware Workstation”,然后选择“创建新的虚拟机” 2.在安装向导中,选择“稍后安装操作系统”,然后点击“下一步”继续安装 3.在“客户机操作系统”中选择“Linux(L ...
- 编写带对话框界面的OCX
编写带对话框界面的OCX步骤: 1.添加Dialog资源,切换到资源视图,将对话框的Style设置为Child,在对话框界面右击添加类,输入类名MyDlg,使得其继承与CDialogEx.(继承CDi ...
- Android 聊天表情输入、表情翻页带效果、下拉刷新聊天记录
经过一个星期的折腾,最终做完了这个Android 聊天表情输入.表情翻页带效果.下拉刷新聊天记录.这仅仅是一个单独聊天表情的输入,以及聊天的效果实现.由于我没有写server,所以没有两方聊天的效果. ...
- (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读 ...
- Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS
如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...
- Android -- 带你从源码角度领悟Dagger2入门到放弃
1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...
- Android -- 带你从源码角度领悟Dagger2入门到放弃(二)
1,接着我们上一篇继续介绍,在上一篇我们介绍了简单的@Inject和@Component的结合使用,现在我们继续以老师和学生的例子,我们知道学生上课的时候都会有书籍来辅助听课,先来看看我们之前的Stu ...
- noVNC支持手机自带键盘输入
代码修改说明 novnc的web链接类似为:http://192.168.1.177:6080/vnc_auto.html?token=105356fa-bbe3-43e4-a0ce-7703dc42 ...
- Android -- 带你从源码角度领悟Dagger2入门到放弃(一)
1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...
随机推荐
- Java基础之垃圾回收
/** * 对象在没有任何引用可以到达时,生命周期结束,成为垃圾. * 所有对象在被回收之前都会自动调用finalize()方法. * ******************************** ...
- 为过程或函数sp_Adduser指定了过多的参数
前些天写用户注册模块,用存储过程添加用户,一开始就报“为过程或函数sp_Adduser指定了过多的参数”.仔细检查数据层的用户添加函数,结果在为存储过程添加sqlparameter参数的时候,数组给写 ...
- 在PADS LAYOUT中如何隐藏不需要的鼠线?
如下图示,将net GPR_0的鼠线隐藏. 鼠标右键,选择网络----选择你要隐藏的网络------右键选择view nets----点击对话框右边View List里你所选的网络-----在右下角t ...
- HDU 5828 Rikka with Sequence(线段树)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5828 [题目大意] 给出一个数列,要求支持区间加法,区间开方和区间和查询操作. [题解] 考虑开方 ...
- 封装的localstorge的插件,store.js
封装的localstorge的插件,store.js https://github.com/marcuswestin/store.js/
- ubuntu安装XHProf
1. 安装XHProf wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxf xhprof-0.9.2.tgz cd xhprof-0.9.2 s ...
- sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。
我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...
- Android-自己定义显示价格的PriceView
转载请标明出处:http://blog.csdn.net/goldenfish1919/article/details/44418883 先看一下我们要做的效果: 价格分成了3部分.前面是一个¥,中间 ...
- js字面量
以前一直对js字面量模棱两可. '字面量是一种表示值的记法.' js字面量(literal) 分为以下几个 number literal 8 就是数字字面量 string liter ...
- Jquery 遍历数组之grep()方法介绍
grep()方法用于数组元素过滤筛选. grep(array,callback,boolean);方法参数介绍. array ---待处理数组 callback ---这个回调函数用来处理数组中 ...