How to make Android EditText not editable


If you have a requirement wherein you want to make Android EditText not editable (un-editable or disabled) that you need to add certain attributes to the EditText tag as android:editable is been deprecated.

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:cursorVisible="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="EditText not editable" />

1. android:clickable="false"

Defines whether this view reacts to click events.

2. android:focusable="false"

It controls whether a view can take focus.

3. android:focusableInTouchMode="false"

It controls whether a view can take focus while in touch mode.

4. android:cursorVisible="false"

Makes the cursor visible or invisible. Takes a boolean value.

Programatically using Java Code

You can make EditText not editable bypassing setKeyListener() method as null

package com.code2care.edittexteg;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.EditText;
public class MainActivity extends ActionBarActivity {
    
    EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        editText = (EditText) findViewById(R.id.editText1);
        
        //makes the editText not editable
        editText.setKeyListener(null);
    }
}





Recent Posts:
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.