安卓EDITTEXT [英] android editText
问题描述
我在寻找最简单的方法。(即不rewritting键盘,如果可能的话 - 或许使用现有那里)来创建一个EDITTEXT输入一个数字的密码。
这不是少见,但我没有发现任何标志组合来做到这一点。
由于这只是数字字符,我不是想要一个只有一位数字键盘(最好喜欢上了iphone, 4 * 3 = 12个按键
, 0 -10 + Del +确定
),或至少是类似电话的键盘,用()+ *
和人物像,但使它们不能被写在文本编辑
我不介意使用去precated标志。
在特别号码| textPassword为inputType下不起作用(字符无法隐藏),的android:密码=真正的
的android:inputType下=手机
和的android:数字=整数
的android:密码=真正的
产生相同的结果,但提示文本消失,特殊字符仍然是允许的。
感谢。
//声明
AlertDialog keyboardBuilder;
串号;
浮myvalue的;//建立键盘
LayoutInflater吹气=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
查看布局= inflater.inflate(R.layout.keyboard,(ViewGroup中)findViewById(R.id.keyboardLayout));
keyboardBuilder =新AlertDialog.Builder(本).create();
keyboardBuilder.setView(布局);//当你的键盘出现
keyboardBuilder.show();//按键动作
公共无效KB1(视图v){号+ =1; keyboardBuilder.setTitle(数);}
公共无效KB2(视图v){号码+ =2; keyboardBuilder.setTitle(数);}
公共无效KB3(视图v){号码+ =3; keyboardBuilder.setTitle(数);}
公共无效KB4(视图v){号+ =4; keyboardBuilder.setTitle(数);}
公共无效KB5(视图v){号码+ =5; keyboardBuilder.setTitle(数);}
公共无效kb6(视图v){号+ =6; keyboardBuilder.setTitle(数);}
公共无效kb7(视图v){号+ =7; keyboardBuilder.setTitle(数);}
公共无效KB8(视图v){号+ =8; keyboardBuilder.setTitle(数);}
公共无效KB9(视图v){号码+ =9; keyboardBuilder.setTitle(数);}
公共无效kbPoint(视图v){号+ =。 keyboardBuilder.setTitle(数);}
公共无效KBE(视图v){号+ =E; keyboardBuilder.setTitle(数);}
公共无效kbMoins(视图v){号+ = - ; keyboardBuilder.setTitle(数);} 公共无效kbDelete(视图V)
{
如果(number.length()大于0)
{
数= number.substring(0,number.length() - 1);
}
keyboardBuilder.setTitle(数);
} 公共无效kbSave(视图V)
{
尝试
{
myvalue的= Float.parseFloat(将String.valueOf(编号)));
keyboardBuilder.dismiss();
}
赶上(例外五)
{
Toast.makeText(这一点,禁价值,Toast.LENGTH_SHORT).show();
}
}
机器人:ID =@ + ID / keyboardLayout
机器人:方向=垂直
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT> <的LinearLayout机器人:ID =@ + ID / keyboardLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:比重=中心>
<按钮的android:文本= - 安卓的onClick =kbMoins机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
<按钮的android:文本=1机器人:的onClick =KB1机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
<按钮的android:文本=2机器人:的onClick =KB2机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
< / LinearLayout中> <的LinearLayout机器人:ID =@ + ID / keyboardLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:比重=中心>
<按钮的android:文本=。安卓的onClick =kbPoint机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px>< /按钮>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
<按钮的android:文本=3安卓的onClick =KB3机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
<按钮的android:文本=4安卓的onClick =KB4机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
< / LinearLayout中> <的LinearLayout机器人:ID =@ + ID / keyboardLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:比重=中心>
<按钮的android:文本=E安卓的onClick =KBE机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
<按钮的android:文本=5安卓的onClick =KB5机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
<按钮的android:文本=6安卓的onClick =kb6机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>`
< / LinearLayout中> <的LinearLayout机器人:ID =@ + ID / keyboardLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:比重=中心>
<按钮的android:文本=删除安卓的onClick =kbDelete机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =20像素&GT ;< /按钮>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
<按钮的android:文本=7安卓的onClick =kb7机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
<按钮的android:文本=8安卓的onClick =KB8机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
< / LinearLayout中> <的LinearLayout机器人:ID =@ + ID / keyboardLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:比重=中心>
<按钮的android:文本=保存安卓的onClick =kbSave机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =20像素&GT ;< /按钮>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
< TextView的机器人:ID =@ + ID /协商机器人:文本=机器人:比重=中心机器人:TEXTSIZE =35px机器人:layout_height =65px的android:layout_width =85px> < / TextView的>
<按钮的android:文本=9安卓的onClick =KB9机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>
<按钮的android:文本=0安卓的onClick =KB0机器人:ID =@ + ID / hideVerticalDocks机器人:layout_height =65px的android:layout_width =85px机器人:TEXTSIZE =35px&GT ;< /按钮>`
< / LinearLayout中>
< / LinearLayout中>
如果你想隐藏的密码,您可以删除keyboardBuilder.setTitle。
的XML被糟糕了800 * 480的景观制作,随意更好写。
您也可以删除E, - 和。因为你只是希望它用于密码。
请注意,对于不与敬酒值的检查可以删除,但您可以通过检查密码的大小,例如更换。
I'm looking for the easiest way (ie without rewritting a keyboard, if possible - maybe using an existing one out there?) to create an editText to input a digit password.
It's not that uncommon, yet I found no flag combination to do that.
Since it's digit only characters, I either want a digit only keyboard (ideally like on the iphone, 4*3=12 keys
, 0-10+del+ok
), or at least a phone-like keyboard, with ()+*
and characters like that, but so that they can't be written in the textEdit.
I don't mind using deprecated flags.
In particular, number|textPassword for inputType doesn't work (characters not hidden), android:password="true"
android:inputType="phone"
and android:numeric="integer"
android:password="true"
produce the same result, but the hint text disappears and special characters are still allowed.
Thanks.
//declarations
AlertDialog keyboardBuilder;
String number;
float myValue;
//building the keyboard
LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.keyboard, (ViewGroup) findViewById(R.id.keyboardLayout));
keyboardBuilder = new AlertDialog.Builder(this).create();
keyboardBuilder.setView(layout);
//When you your keyboard to appear
keyboardBuilder.show();
//actions of keys
public void kb1(View v) {number += "1"; keyboardBuilder.setTitle(number);}
public void kb2(View v) {number += "2"; keyboardBuilder.setTitle(number);}
public void kb3(View v) {number += "3"; keyboardBuilder.setTitle(number);}
public void kb4(View v) {number += "4"; keyboardBuilder.setTitle(number);}
public void kb5(View v) {number += "5"; keyboardBuilder.setTitle(number);}
public void kb6(View v) {number += "6"; keyboardBuilder.setTitle(number);}
public void kb7(View v) {number += "7"; keyboardBuilder.setTitle(number);}
public void kb8(View v) {number += "8"; keyboardBuilder.setTitle(number);}
public void kb9(View v) {number += "9"; keyboardBuilder.setTitle(number);}
public void kbPoint(View v) {number += "."; keyboardBuilder.setTitle(number);}
public void kbE(View v) {number += "e"; keyboardBuilder.setTitle(number);}
public void kbMoins(View v) {number += "-"; keyboardBuilder.setTitle(number);}
public void kbDelete(View v)
{
if (number.length() > 0)
{
number = number.substring(0, number.length()-1);
}
keyboardBuilder.setTitle(number);
}
public void kbSave(View v)
{
try
{
myValue = Float.parseFloat(String.valueOf(number)));
keyboardBuilder.dismiss();
}
catch(Exception e)
{
Toast.makeText(this,"Forbidden value.", Toast.LENGTH_SHORT).show();
}
}
android:id="@+id/keyboardLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/keyboardLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button android:text="-" android:onClick="kbMoins" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<Button android:text="1" android:onClick="kb1" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<Button android:text="2" android:onClick="kb2" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
</LinearLayout>
<LinearLayout android:id="@+id/keyboardLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button android:text="." android:onClick="kbPoint" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<Button android:text="3" android:onClick="kb3" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<Button android:text="4" android:onClick="kb4" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
</LinearLayout>
<LinearLayout android:id="@+id/keyboardLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button android:text="e" android:onClick="kbE" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<Button android:text="5" android:onClick="kb5" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<Button android:text="6" android:onClick="kb6" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>`
</LinearLayout>
<LinearLayout android:id="@+id/keyboardLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button android:text="delete" android:onClick="kbDelete" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="20px"></Button>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<Button android:text="7" android:onClick="kb7" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<Button android:text="8" android:onClick="kb8" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
</LinearLayout>
<LinearLayout android:id="@+id/keyboardLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button android:text="save" android:onClick="kbSave" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="20px"></Button>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<TextView android:id="@+id/espace" android:text="" android:gravity="center" android:textSize="35px" android:layout_height="65px" android:layout_width="85px"> </TextView>
<Button android:text="9" android:onClick="kb9" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>
<Button android:text="0" android:onClick="kb0" android:id="@+id/hideVerticalDocks" android:layout_height="65px" android:layout_width="85px" android:textSize="35px"></Button>`
</LinearLayout>
</LinearLayout>
If you want to hide the password you can delete the keyboardBuilder.setTitle.
The xml was poorly made for a 800*480 landscape, feel free to write it better.
You can also delete the "e", "-" and "." since you just want it for password use.
Note that the checking for not a value with the toast can be deleted, but you can replace it by checking password size for example.
这篇关于安卓EDITTEXT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!