Мне нужно разрешить пользователю вводить номер телефона после +, я как добавить это '+' в edit text.User не может редактировать +. Пользователь может ввести число, за которым следует +. Используя editText.setText("+");
, он все равно позволит пользователю редактировать это +. Как сделать этот текст недоступным для редактирования.Как сделать префикс редактирования текста не редактируемым
ответ
Пользовательский EditText с вашим классом.
найти приведенный ниже код примера для справки.
public class CustomEdit extends EditText {
private String mPrefix = "+"; // can be hardcoded for demo purposes
private Rect mPrefixRect = new Rect(); // actual prefix size
public CustomEdit(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
getPaint().getTextBounds(mPrefix, 0, mPrefix.length(), mPrefixRect);
mPrefixRect.right += getPaint().measureText(" "); // add some offset
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawText(mPrefix, super.getCompoundPaddingLeft(), getBaseline(), getPaint());
}
@Override
public int getCompoundPaddingLeft() {
return super.getCompoundPaddingLeft() + mPrefixRect.width();
}
}
В XML использовать как ниже
<com.example.CustomEdit
android:id="@+id/edt_no"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/edit_gray"
android:textSize="@dimen/text_14sp"
android:inputType="number"
android:maxLength="10"
>
Есть ли способ сделать это в XML-файле? – Archana
Вы можете добавить этот CustomTextText в свой xml и установить данные, что вы хотите –
Использование TextWatcher
вы можете сделать это возможным. В TextWatcher
вы можете обрабатывать редактируемое текстовое значение. смотрите этот Tutorial
Это должно быть, как это
final EditText edt = (EditText) findViewById(R.id.editText1);
edt.setText("+");
Selection.setSelection(edt.getText(), edt.getText().length());
edt.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if(!s.toString().contains("+")){
edt.setText("+");
Selection.setSelection(edt.getText(), edt.getText().length());
}
}
});
- 1. Сделать EditText частично не редактируемым
- 2. сделать имя нескольких вкладок редактируемым. с кнопкой редактирования и сохранения
- 3. Как сделать текстовое поле не редактируемым
- 4. Как сделать прокрутку текста в поле редактирования?
- 5. Как сделать URL-адрес стиля UltragridColumn редактируемым
- 6. Сделать столбец DataGrid WPF редактируемым
- 7. Сделать объект UITextView редактируемым
- 8. Сделать столбец не редактируемым, сохраняя другие редактируемые
- 9. Невозможно сделать заголовок редактируемым
- 10. Невозможно сделать Webview редактируемым
- 11. Как сделать текст события календаря редактируемым по клику?
- 12. Как сделать combobox со стилем (CBS_DROPDOWN), не редактируемым?
- 13. Как сделать поле только редактируемым системой (не администратором или пользователями)
- 14. Как сделать EditText редактируемым после перетаскивания
- 15. Сделать функциональное поле редактируемым в Openerp?
- 16. Сделать Edittext только 1 раз редактируемым
- 17. Как сделать jTable содержимое кликабельным, но не редактируемым - java netbeans
- 18. JavaFX - Я не понимаю, как сделать мой TableView редактируемым
- 19. django - сделать один объект в списке редактируемым
- 20. добавить корневой узел и сделать его редактируемым
- 21. Сделать EditText редактируемым программным способом
- 22. Редактирование текста с редактируемым и неизменяемым подсказкой/текстом - Android
- 23. C# Как я могу сделать текстовое поле редактируемым и не редактируемым, нажав? Как насчет прозрачной этикетки?
- 24. Как сделать несколько строк редактирования?
- 25. Android, как сделать EditText редактируемым внутри ListView
- 26. Как сделать/var/www содержимое редактируемым IDE
- 27. Как сделать строки ttk.Treeview доступными для редактирования?
- 28. Как сделать Silverlight datagrid доступным для редактирования?
- 29. ibm отмечает, как сделать вычисленное поле редактируемым
- 30. Сделать модуль редактируемым, если страница DNN не находится в режиме редактирования
Что вы пробовали? –
@ ρяσѕρєяK Я попытался использовать etPhone.setText («+», TextView.BufferType.EDITABLE); Но это сделает редактируемый текст доступным для редактирования. – Archana