android设置输入框输入字符限制,如何在Android中为EditText设置最小和最大字符限制?...

我想为EditText框设置最小和最大输入值.我正在为EditText创建一个简单的验证;它需要A-Z和0-9值,最小值为5,最大值为8.

我设置了最大值和其他验证如下:

android:id="@+id/edittextKode_Listing"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginRight="5dp"

android:layout_marginLeft="5dp"

android:layout_alignTop="@+id/textKode_listing"

android:layout_toRightOf="@+id/textKode_listing"

android:maxLength="8"

android:inputType="textCapCharacters"

android:digits="0,1,2,3,4,5,6,7,8,9,ABCDEFGHIJKLMNOPQRSTVUWXYZ"

/>

但无法设定最低价值要求.我的EditText框位于警告对话框中.我尝试了以下代码来解决问题:

private void openInboxDialog() {

LayoutInflater inflater = this.getLayoutInflater();

// declare dialog view

final View dialogView = inflater.inflate(R.layout.kirim_layout, null);

final EditText edittextKode = (EditText) dialogView.findViewById(R.id.edittextKode_Listing);

final EditText edittextalamat = (EditText) dialogView.findViewById(R.id.edittextAlamat);

edittextKode.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override

public void onFocusChange(View v, boolean hasFocus) {

// TODO Auto-generated method stub

if(edittextKode.getText().toString().length() > 0){

if(edittextKode.getText().toString().length() < 5)

{

edittextKode.setError("Error");

Toast.makeText(GPSActivity.this, "Kode listing value not be less than 5", Toast.LENGTH_SHORT).show();

edittextKode.requestFocus();

}

}

}

});

final AlertDialog.Builder builder = new AlertDialog.Builder(GPSActivity.this);

builder.setTitle("Kirim").setView(dialogView)

.setNeutralButton("OK", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

gpsCoordinates = (TextView) findViewById(R.id.text_GPS_Coordinates);

kode = edittextKode.getText().toString();

alamat = edittextalamat.getText().toString();

catatan = edittextcatatan.getText().toString();

pengirim = edittextPengirim.getText().toString();

if (kode.length() > 0 && alamat.length() > 0

&& catatan.length() > 0 && pengirim.length() > 0) {

message = "Kode listing : " + kode + "\nAlamat : "

+ alamat + " \nCatatan : " + catatan + " \n Pengirim : " + pengirim

+ "\nKoordinat GPS : "

+ gpsCoordinates.getText().toString();

sendByGmail();

} else {

Toast.makeText(

getApplicationContext(),

"Please fill all three fields to send mail",

Toast.LENGTH_LONG).show();

}

}

});

builder.create();

builder.show();

}`

在此警报对话框中,我有两个EditText框.我想在第一个EditText上应用我的验证.我调用了setOnFocusChangeListener来检查焦点变化时的最小长度.如果长度小于5然后请求焦点,但它仍然在第二个EditText框中键入.

有谁可以帮助我.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值