Skip to content Skip to sidebar Skip to footer

Android Edittext

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 t

Solution 1:

I'm afraid that there might be no easy way to achieve that. android:password="true" only hides the input text and inputType="phone" still allow some special character for dialing although you can make those character do nothing by handling KeyEvent.

I was required to do the same thing once, and eventually implemented a custom layout that only rises when the EditText gets focused. If you can't find better solution and you don't have too many EditText of this type, maybe it is the way to go

Solution 2:

//declarationsAlertDialog keyboardBuilder;
Stringnumber;
float myValue;

//building the keyboardLayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.keyboard, (ViewGroup) findViewById(R.id.keyboardLayout));
keyboardBuilder = newAlertDialog.Builder(this).create();
keyboardBuilder.setView(layout);

//When you your keyboard to appear
keyboardBuilder.show();

//actions of keyspublicvoidkb1(View v) {number += "1"; keyboardBuilder.setTitle(number);}
    publicvoidkb2(View v) {number += "2"; keyboardBuilder.setTitle(number);}
    publicvoidkb3(View v) {number += "3"; keyboardBuilder.setTitle(number);}
    publicvoidkb4(View v) {number += "4"; keyboardBuilder.setTitle(number);}
    publicvoidkb5(View v) {number += "5"; keyboardBuilder.setTitle(number);}
    publicvoidkb6(View v) {number += "6"; keyboardBuilder.setTitle(number);}
    publicvoidkb7(View v) {number += "7"; keyboardBuilder.setTitle(number);}
    publicvoidkb8(View v) {number += "8"; keyboardBuilder.setTitle(number);}
    publicvoidkb9(View v) {number += "9"; keyboardBuilder.setTitle(number);}
    publicvoidkbPoint(View v) {number += "."; keyboardBuilder.setTitle(number);}
    publicvoidkbE(View v) {number += "e"; keyboardBuilder.setTitle(number);}
    publicvoidkbMoins(View v) {number += "-"; keyboardBuilder.setTitle(number);}

    publicvoidkbDelete(View v)
    {
        if (number.length() > 0)
        {
            number = number.substring(0, number.length()-1);
        }
        keyboardBuilder.setTitle(number);
    }

    publicvoidkbSave(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">

        <LinearLayoutandroid:id="@+id/keyboardLayout"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"><Buttonandroid:text="-"android:onClick="kbMoins"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><Buttonandroid:text="1"android:onClick="kb1"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><Buttonandroid:text="2"android:onClick="kb2"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button></LinearLayout><LinearLayoutandroid:id="@+id/keyboardLayout"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"><Buttonandroid:text="."android:onClick="kbPoint"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><Buttonandroid:text="3"android:onClick="kb3"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><Buttonandroid:text="4"android:onClick="kb4"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button></LinearLayout><LinearLayoutandroid:id="@+id/keyboardLayout"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"><Buttonandroid:text="e"android:onClick="kbE"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><Buttonandroid:text="5"android:onClick="kb5"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><Buttonandroid:text="6"android:onClick="kb6"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button>`
        </LinearLayout><LinearLayoutandroid:id="@+id/keyboardLayout"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"><Buttonandroid:text="delete"android:onClick="kbDelete"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="20px"></Button><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><Buttonandroid:text="7"android:onClick="kb7"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><Buttonandroid:text="8"android:onClick="kb8"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button></LinearLayout><LinearLayoutandroid:id="@+id/keyboardLayout"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"><Buttonandroid:text="save"android:onClick="kbSave"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="20px"></Button><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><TextViewandroid:id="@+id/espace"android:text=""android:gravity="center"android:textSize="35px"android:layout_height="65px"android:layout_width="85px"></TextView><Buttonandroid:text="9"android:onClick="kb9"android:id="@+id/hideVerticalDocks"android:layout_height="65px"android:layout_width="85px"android:textSize="35px"></Button><Buttonandroid: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.

Post a Comment for "Android Edittext"