Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法

本文实例讲述了Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法。分享给大家供大家参考,具体如下:

先看效果图:

源码如下:

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context=".MainActivity" >
  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="@string/text_num" />
  <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/num"
    android:text="@string/text_abc" />
  <EditText
    android:id="@+id/num"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:digits="0123456789"
    android:ems="10" />
  <EditText
    android:id="@+id/abc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView2"
    android:layout_below="@+id/textView2"
    android:digits="qwertyuiopasdfghjklzxcvbnm"
    android:ems="10" >
  </EditText>
  <TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/abc"
    android:layout_below="@+id/abc"
    android:layout_marginTop="14dp"
    android:text="@string/text_num2" />
  <EditText
    android:id="@+id/num2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView3"
    android:layout_below="@+id/textView3"
    android:ems="10"
    android:inputType="number|textCapCharacters" >
  </EditText>
  <Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView2"
    android:layout_below="@+id/textView1"
    android:layout_toRightOf="@+id/num"
    android:text="确认1" />
  <Button
    android:id="@+id/button4"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/email"
    android:layout_alignTop="@+id/email"
    android:layout_toRightOf="@+id/email"
    android:text="确认4" />
  <Button
    android:id="@+id/button2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView3"
    android:layout_alignLeft="@+id/button1"
    android:layout_below="@+id/textView2"
    android:text="确认2" />
  <Button
    android:id="@+id/button3"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/num2"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignTop="@+id/num2"
    android:text="确认3" />
  <TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:text="@string/text_email" />
  <EditText
    android:id="@+id/email"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView4"
    android:layout_below="@+id/textView4"
    android:layout_marginTop="21dp"
    android:ems="10"
    android:inputType="textEmailAddress" >
  </EditText>
</RelativeLayout>

MainActivity.java:

package com.example.edittext2;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
  private EditText num;
  private EditText abc;
  private EditText num2;
  private EditText email;
  private Button button1;
  private Button button2;
  private Button button3;
  private Button button4;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    num=(EditText) findViewById(R.id.num);
    abc=(EditText) findViewById(R.id.abc);
    num2=(EditText) findViewById(R.id.num2);
    email=(EditText) findViewById(R.id.email);
    button1=(Button) findViewById(R.id.button1);
    button2=(Button) findViewById(R.id.button2);
    button3=(Button) findViewById(R.id.button3);
    button4=(Button) findViewById(R.id.button4);
    button1.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String value=num.getText().toString();
        //trim()判断前后是否有空格
        if(value==null||value.trim().equals("")){
          num.setError("请输入内容!!");
          return;
        }
      }
    });
    button2.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String value=abc.getText().toString();
        //trim()判断前后是否有空格
        if(value==null||value.trim().equals("")){
          abc.setError("请输入内容!!");
          return;
        }
      }
    });
    button3.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String value=num2.getText().toString();
        //trim()判断前后是否有空格
        if(value==null||value.trim().equals("")){
          num2.setError("请输入内容!!");
          return;
        }
      }
    });
    button4.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String value=email.getText().toString();
        //trim()判断前后是否有空格
        if(value==null||value.trim().equals("")){
          email.setError("请输入内容!!");
          return;
        }
      }
    });
  }
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }
}

希望本文所述对大家Android程序设计有所帮助。

时间: 2015-12-25

Android里实现退出主程序的提示代码

当用户选择"取消"的时候,只要单纯的retuan,即可返回主程序.我们可以定义一个showTips()的专用方法在main Activity里面,那么,每次我们写的时候,就调用这个函数的就可以了. 复制代码 代码如下: private void showTips(){AlertDialog alertDialog = new AlertDialog.Builder(Activity.this).setTitle("退出程序").setMessage("是否

android 弹出提示框的使用(图文实例)

复制代码 代码如下: //删除全部 else if(id==R.id.btnDelet){ new AlertDialog.Builder(this).setTitle("删除提示框").setMessage("确认删除该数据?").setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, i

android开发之蜂鸣提示音和震动提示的实现原理与参考代码

最近在读zxing项目,学到了不少东西.推荐大家也读读.里面有个BeepManager类,实现一个蜂鸣音和震动的实现.我们一起来看看他是怎么做的: 蜂鸣 1.准备一个 音频文件 比如:beep.ogg. ogg格式是声音压缩格式的一种,类似mp3这样.我们准备播放它,就产生了蜂鸣的效果. 2.为activity注册的默认 音频通道 . activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); 这里声明为 STREAM_MUSIC的通道

Android自动文本框输入识别提示功能代码

自动提示文本框(AutoCompleteTextView)可以加强用户体验,缩短用户的输入时间(百度的搜索框就是这个效果). 相信大家都熟悉自动识别提示吧,在我们的生活中随处可见,今天就让我为大家简单介绍一下它是如何设计的. 所谓自动识别输入即是根据用户输入的已有信息,为用户提示可能的值,方便用户完成输入.在Android设备上这种功能分为:AutoCompleteTextView和MultiAutoCompleteTextView,前者为单个的自动识别,类似与搜索引擎的输入框提示:后者为多个值

解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解

好不容易搭建好了开发环境,可是不管怎么按Ctr + space,ibus就是不弹出来.用鼠标点吧,上面提示没有输入窗口.真是操蛋!google了一圈也没有解决办法,我是第一个遇到这问题的人么??无奈下,干脆换输入法!将系统自带的ibus换成fcitx输入法,安装步骤为:首先切换到root1,yum install fcitx2, alternatives --config xinputrc会出来提示,会提示共有 4 个程序提供"xinputrc".选择    命令-----------

Android开发之WebView输入框提示解决办法

做基于WebView应用时,页面上有一个输入框,当输入的文字过多时,超过输入框的行数时,输入框能够滚动,这时间问题来了,输入的提示箭头会移动到输入框外,如何解决这个问题呢,查找chromium源码如下: void LoadIfNecessary(jobject context) { if (loaded_) return; loaded_ = true; TRACE_EVENT0("browser", "HandleResources::Create"); JNIE

Android开发之WebView组件的使用解析

在 Android 手机中内置了一款高性能 webkit 内核浏览器, SDK 中封装为一个叫做 WebView 组件. WebView 类是 WebKit 模块 Java 层的视图类,( 所有需要使用 Web 浏览功能的Android应用程序都要创建该视图对象显示和处理请求的网络资源.目前,WebKit 模块支持 HTTP.HTTPS.FTP 以及 javascript 请求. WebView 作为应用程序的 UI 接口,为用户提供了一系 列的网页浏览.用户交互接口,客户程序通过这些接口访问

Android程序开发之WebView使用总结

前言: 今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结. 使用场景: 1.)添加权限 <uses-permission android:name="android.permission.INTERNET" /> 2.)布局文件 <WebView android:id="@+id/webView" android:layout_width="match_parent" andr

Android开发之APP安装后在桌面上不显示应用图标的解决方法

本文实例讲述了Android开发之APP安装后在桌面上不显示应用图标的解决方法.分享给大家供大家参考,具体如下: 一.问题: 前几天在写项目的时候运行的时候突然Android桌面上没有了应用图标,但是应用里面下载的应用有.调试版本和发布正式的版本都没有,之前以为是因为用了不同的keystore发布了两个不同的正式版本造成的问题.后来在看别人的文章才知道是什么问题. 二.分析: 原因就是activity中的intent-filter用了不同的data和action属性.intent-filter必

Android开发之TabHost选项卡及相关疑难解决方法

本文实例分析了Android开发之TabHost选项卡及相关疑难解决方法.分享给大家供大家参考,具体如下: 前言: 虽然现在谷歌已经不推荐使用TabHost,但是初学者还是很有必要接触下这一成金的经典的,本文将介绍纤细介绍这一空间的使用,以及大家可能遇到的问题.注:文末给出完整实现代码 三个问题: 1. 无法显示TabHost 2. 添加图片 + 文字 无法同时 3. 说在最后:点击事件 4. 底部导航无法实现 现在 从问题出发: 问题一:无法显示 TabHost 很多人调用TabHost的方法

Android开发之ListView实现Item局部刷新

对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView.在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容.这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制.这种模式下,View的显示内容或状态都记录在adapter里面

Android 开发之dataBinding与ListView及事件

2015年Google IO大会分布了DataBinding库,能够更快捷便利的实现MVVM结构模式.但是,通过对DataBinding的学习,其中踩过得坑,今天要在这里记录一下.对于DataBinding一些比较基础的使用,在这里就不在记录了,毕竟现在Google一下,出来很多的教程,而且,android developer官网中,也已经对其基本使用方法做了详细介绍,有英语基础的童鞋,还是去看比较官方的文章.如果英文基础不太好的,https://realm.io/cn/news/data-bi

Android开发之android_gps定位服务简单实现

前言 gps定位服务的学习是这段时间gps课程的学习内容,之前老师一直在将概念,今天终于是实践课(其实就是给了一个案例,让自己照着敲).不过在照着案列敲了两遍之后,发现老师的案例是在是太老了,并且直接照着案例敲,也无法理解其中很多类,方法的作用. 于是自己在网上查看了其他实现的方法,并尝试敲案列,期间的挫折一言难尽. (网上找的案例也并不信息,使得我在给予权限,和权限检查方面一直报错,因为我使用的是最新的As和java11,在经过数遍从基础理解到实例编写的过程和不知多少遍google之后,终于完

Android开发之StackView用法和遇到的坑分析

本文实例分析了Android开发之StackView用法和遇到的坑.分享给大家供大家参考,具体如下: 关于StackView网上已经有很多内容了 这里我着重将一些使用过程中遇到的坑吧 先看下效果,和很多人一样 很多人加完图片后发现图片不显示,这里可能有两个原因: 一.直接闪退,然后报错.一般会有头这么一句话: Failed to allocate a 74649612 byte allocation with 16765728 free bytes and 59MB until OOM 提示一个

Android开发之ListView的head消失页面导航栏的渐变出现和隐藏

1.Fragment页面xml布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"