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实现机制的更多相关文章

  1. VMware Workstation 15 Pro安装带图形化界面的CentOS7

    1.双击打开“VMware Workstation”,然后选择“创建新的虚拟机” 2.在安装向导中,选择“稍后安装操作系统”,然后点击“下一步”继续安装 3.在“客户机操作系统”中选择“Linux(L ...

  2. 编写带对话框界面的OCX

    编写带对话框界面的OCX步骤: 1.添加Dialog资源,切换到资源视图,将对话框的Style设置为Child,在对话框界面右击添加类,输入类名MyDlg,使得其继承与CDialogEx.(继承CDi ...

  3. Android 聊天表情输入、表情翻页带效果、下拉刷新聊天记录

    经过一个星期的折腾,最终做完了这个Android 聊天表情输入.表情翻页带效果.下拉刷新聊天记录.这仅仅是一个单独聊天表情的输入,以及聊天的效果实现.由于我没有写server,所以没有两方聊天的效果. ...

  4. (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框

    Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读  ...

  5. Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS

    如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...

  6. Android -- 带你从源码角度领悟Dagger2入门到放弃

    1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...

  7. Android -- 带你从源码角度领悟Dagger2入门到放弃(二)

    1,接着我们上一篇继续介绍,在上一篇我们介绍了简单的@Inject和@Component的结合使用,现在我们继续以老师和学生的例子,我们知道学生上课的时候都会有书籍来辅助听课,先来看看我们之前的Stu ...

  8. noVNC支持手机自带键盘输入

    代码修改说明 novnc的web链接类似为:http://192.168.1.177:6080/vnc_auto.html?token=105356fa-bbe3-43e4-a0ce-7703dc42 ...

  9. Android -- 带你从源码角度领悟Dagger2入门到放弃(一)

    1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...

随机推荐

  1. github版本库使用详细图文教程(命令行及图形界面版)

    投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2015-08-06我要评论 今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全 ...

  2. MarkDown使用 (三)表格

    MarkDown表格的用法 MarkDown表格的用法 例如: $$ \begin{array}{c|lcr} n & \text{Left} & \text{Center} & ...

  3. idea修改文件名后出现main method should be static错误

    1.确保你有main方法 2.别忘了main方法里还有参数: String[] args

  4. 每天一个小算法(5)----找到链表倒数第K个结点

    估计这个问题在面试中被问烂了. 思路是先找到正数的第K个结点的指针pT,然后和指向头结点的指针pN一起向后移动,直到第K个指针指向NULL,此时pN指向的结点即倒数第K个结点. 如图: #includ ...

  5. android小知识之意图(intent)

    android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity  B ...

  6. U盘重装系统win7

    步骤: 1开机f12进入bios模式设置光盘的第一驱动 2U盘拷贝好的ghost镜像插入usb接口,重启默认U盘启动 3启动后进入重装系统界面,选择要重新的系统,进入pe系统,格式化c盘,后面默认自动

  7. 扩大或缩小undo表空间

    ***********************************************声明*************************************************** ...

  8. ios之TableViewCell重用机制避免反复显示问题

    常规配置例如以下 当超过tableView显示的范围的时候 后面显示的内容将会和前面反复 // 这样配置的话超过页面显示的内容会反复出现 - (UITableViewCell *)tableView: ...

  9. linux网络编程之网络函数详解

    1.epoll_create函数 函数声明:int epoll_create(int size) 该 函数生成一个epoll专用的文件描述符.它其实是在内核申请一空间,用来存放你想关注的socket ...

  10. Jquery filter()方法简介

    利用filter函数可以从wrapper set中过滤符合条件的dom元素. 如下图html代码,假如我们要获取类名为filter的<a>标签,用filter方法可以很轻松的获得. < ...