2012-05-31 2 views
0

У меня есть деятельность, которая имеет EditText и Button. Данные в EditText не редактируются в начале, но становятся доступными для редактирования, когда нажата кнопка Button. Я попытался использовать android:editable="false" в макете xml, но он не работает. Может ли кто-нибудь помочь мне с этим?редактирование текстового поля не редактируется

ответ

1

Вы должны сначала установить редактируемые свойство TextEdit в ложна в вашем XML макет:

<EditText 
    ... 
    android:id="@+id/input" 
    android:clickable="false" /> 

А потом, когда кнопка нажата, установите TextEdit на редактируемые:

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    input = (EditText) findViewById(R.id.input); 
    button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      input.setClickable(true); 
     } 

    }); 
} 
+1

эй нет функции setEditable() для редактирования текстовых полей. Привет, я могу сделать это иначе? – user47

+0

Упс. К сожалению, свойство «editable» распространяется только через XML Programmatically, вы должны использовать либо setEnabled, либо setFocusable или setClickable. Однако при использовании этих методов вы не сможете выбрать и скопировать текст ... обновленный код. –

1
editText.setEnabled(true); or editText.setEnabled(false); 

если косяк работает тогда Editable false

0
<EditText 
    ... 
    android:id="@+id/urId" 
    android:clickable="True" /> 

Это сработало для меня, попробуйте удачу.

+0

<Редактировать текст ... android: id = "@ + id/input" android: clickable = "True" /> – DjRaf

+0

Добро пожаловать в Stack Overflow! Я отредактировал ваш ответ. Если вы хотите показать код здесь, вы должны отложить его на 4 пробела. Это автоматически помещает строку в 'code markdown'. –

Смежные вопросы