kavuru
kavuru

Reputation: 379

edittext not getting editable from read only mode dynamically

I am trying to make edittext editable after a button click. Below is my code snippet.

Before click event:

name_value = (EditText) findViewById(R.id.name_value);
name_value.setText(DashBoardDisplay_l.getName());
name_value.setFocusable(false);


likes_value = (EditText) findViewById(R.id.likes_value);
likes_value.setText(DashBoardDisplay_l.getLikes());
likes_value.setFocusable(false);

calls_value = (EditText) findViewById(R.id.Calls_value);
calls_value.setText(DashBoardDisplay_l.getCalls());
calls_value.setFocusable(false);

After click event:

android.view.View.OnClickListener enable_listeners = new OnClickListener() {

    @Override
    public void onClick(View v) {

        Log.d("Zumbare","in enable listners");
        Button b = (Button) v;
        if(b.getText().toString().equalsIgnoreCase("edit")){

            Log.d("Zumbare","in edit condition");
            desc.setOnClickListener(show_buttons);
            icon.setOnClickListener(slct_image);
            name_value.setFocusable(true);
            likes_value.setFocusable(true);
            calls_value.setFocusable(true);
            edit.setText("Save");
            name_value.requestFocus();

        }

    }
};

But after button click event , no focus is coming on to name_value edittext and also not editable. so what is wrong i am doing here or anything more to do?

Upvotes: 0

Views: 570

Answers (1)

MysticMagicϡ
MysticMagicϡ

Reputation: 28823

You would need to use setEnabled() for that.

setFocusable() will not make edittext editable. It will just set focus on particular edittext.

// make editable
name_value.setEnabled(true);
likes_value.setEnabled(true);
calls_value.setEnabled(true); 

// set focusable
name_value.setFocusable(true);
likes_value.setFocusable(true);
calls_value.setFocusable(true);

//set focus to particular edittext
name_value.requestFocus();

should work in onClick()'s code.

Upvotes: 1

Related Questions