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

本文实例讲述了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 弹出提示框的使用(图文实例)

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

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

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

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

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

解决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里实现退出主程序的提示代码

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

Android 自定义一套 Dialog通用提示框 (代码库)

做Android开发五年了,期间做做停停(去做后台开发,服务器管理),当回来做Android的时候,发现很生疏,好些控件以前写得很顺手,现在好像忘记些什么了,总要打开这个项目,打开那个项目,有时未必还找得到. 总结起来,还是源于没有好好做一个属于自己的代码库,把平时开发项目中一些自定义的控件,或一些耦合性很低的模块封装起来,或者平时比较少写博客.如果你是一个刚学会开发的程序猿,或者是有过好几年开发经验的大鸟,也该开始整理整理自己的代码,这也不枉此生敲代码的岁月,同时在面试中,也会给你带来不少印象

Android高仿2048小游戏实现代码

刚开始进入Splash界面: 1.SplashActivity.Java(两秒后进入开始界面,Splash界面的布局只有一个图片,在博客后,会展示给大家看) public class SplashActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a

谈谈Android里的Context的使用实例

大家好,今天给大家分享一下Android里的Context的一些用法,以前经常有人在群里问我比如我在一个工具类里的某个方法,或者View里需要调用Context.但是工具类还有View里没有这个上下文怎么办?为了解决大家的疑问,为了解决大家的疑问,我今天写一个简单的Demo.让大家如何学好自如的用Context.想什么时候有Context,什么时候就有Context. 这里大致可以分为两种:一是传递Context参数,二是调用全局的Context. 其实我们应用启动的时候会启动Applicati

Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例

本文实例讲述了Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用.分享给大家供大家参考,具体如下: 现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在Android 里是如何实现的呢? 事实上,Android 的AutoCompleteTextView Widget ,只要搭配ArrayAdapter 就能设计同类似Google 搜索提示的效果. 本例子先在Layout 当中布局一个AutoCom

Android实现图片轮播切换实例代码

利用Android的ViewFlipper和AnimationUtils实现图片带有动画的轮播切换,其中当点击"上一张"图片时,切换到上一张图片:当点击"下一张"图片时,切换到下一张图片.其效果图如下: 设置布局文件,其内容如下: activity_image_flipper_shade.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xm

Android编程实现输入框动态自动提示功能

本文实例讲述了Android编程实现输入框动态自动提示功能.分享给大家供大家参考,具体如下: 关于AutoCompleteTextView的使用,我想大家并不陌生,对其设定上Adapter后系统便能自己识别与匹配了.近期 一个项目中,需要做到匹配通迅录中的电话号码和联系人,由于通迅录中数据量大,所以把所有的数据在自己提示之前就查询出来并加入到 AutoCompleteTextView中是不现实的,所以我们可以使用cursor来动态加载AutoCompleteTextView的数据,从而 实现时时

Android 基于IntentService的文件下载的示例代码

文件下载这种事情是很耗时的.之前使用AsyncTask这样的异步类来做下载,然后切到后台就被干掉.所以打算试试Service.(不过按目前那些系统的尿性,其实Service也分分钟被干掉) 不过,这里并不是直接使用Service类,而是使用的是继承自Service的IntentService. 这个东西有三大好处: 1.他有个任务队列: 2.任务队列执行完后会自动停止: 3.他会起一个独立的线程,耗时操作不会影响你app的主线程. 这么自动化的东西简直省心. 话不多说,开始撸代码. 首先,要建个

Android 修改viewpage滑动速度的实现代码

1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300; public ViewPageFixedSpeedScroller(Context context) { super(context); // TODO Auto-generated constructor stub } public ViewPageFixedSpeedScroller(Con