Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Handling Done and next of SoftKeypad in android?

I have a simple login Activity having two edit texts fileds, for username and password.. Now I want to achieve following two features,

  1. If next button is touched while focus is on userNameText, the cursor should move to the second editText field i.e. passwordText..
  2. If done is pressed while cursor is on passwordText field the, I want to call a function which is called inside the OK Button's listener.

enter image description hereenter image description here

My XML file looks like this

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/online" >

    <TextView
        android:id="@+id/userNamelbl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/userNameLbl" />

    <EditText
        android:id="@+id/userNametxt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/userNamelbl"
        android:background="@android:drawable/editbox_background"
        android:hint="@string/userNameTxt"
        android:maxLines="1"
        android:nextFocusDown="@+id/passwordtxt"
        android:singleLine="true" />

    <TextView
        android:id="@+id/passwordlbl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/userNametxt"
        android:text="@string/passwordLbl" />

    <EditText
        android:id="@+id/passwordtxt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/passwordlbl"
        android:background="@android:drawable/editbox_background"
        android:hint="@string/passwordTxt"
        android:inputType="textPassword"
        android:maxLines="1"
        android:singleLine="true" />

    <Button
        android:id="@+id/okBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/passwordtxt"
        android:layout_marginLeft="10dip"
        android:text="@string/okLbl" />

    <Button
        android:id="@+id/cancelBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/okBtn"
        android:layout_toLeftOf="@id/okBtn"
        android:text="@string/cancelLbl" />

</RelativeLayout>
like image 791
Amit Avatar asked Nov 13 '22 05:11

Amit


1 Answers

Requested by anDroider - Not an answer

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo" />

        <EditText
            android:id="@+id/loginuser"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:ems="10"
            android:hint="@string/username_string"
            android:inputType="textEmailAddress" >

        </EditText>

        <EditText
            android:id="@+id/loginpass"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="@string/password_string"
            android:inputType="textPassword" />

        <Button
            android:id="@+id/loginbtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:clickable="true"
            android:text="Login" />

    </LinearLayout>

EDIT: This part is an answer

Use OnEditorActionListener and listen for the done key to be pressed.

like image 149
user1378730 Avatar answered Nov 16 '22 03:11

user1378730