Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как в TextWatcher можно однозначно идентифицировать EditText, который меняется? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Последнее посещение activity http://www.cyberforum.ru/android-dev/thread1278202.html
Есть 3 activity как на рисунке,нужно сделать типа как в VK - последний раз в activity 3 заходили например 40 минут назад, отображаться должно в activity 3. Я подумал,что запоминать нужно выход из...
Программирование Android Maven + Eclipse Здравствуйте! Я столкнулся с необходимостью изучить Maven для развертывания приложения в Eclipse. (Если быть боле конкретным необходимо развернуть GeoAR приложение и пару datasources к нему).... http://www.cyberforum.ru/android-dev/thread1278162.html
Программирование Android ViewPager, Fragment и SimpleCursorAdapter, обновить соседнюю страницу
Есть активити с ViewPager, в который подгружается фрагмент, состоящий из ListView. ListView (с TextView и CheckBox) заполняется из БД через кастомный SimpleCursorAdapter. На первой странице у меня...
Программирование Android Найти пароль
Всем привет! Вопрос такой. Если зашли в приложение вконтакте, потом вышли, можно ли как-нибудь найти пароль, который вводился?
Программирование Android Fatal error http://www.cyberforum.ru/android-dev/thread1277867.html
доброго времени суток форумчане !!! меня беспокоит Fatal error в моем приложении не могу разобраться почему вылетает!!! помогите вот код LoginActivity.java package com.example.androidhive; ...
Программирование Android Async_Tasc появление ProgressDialog При запуске Async Tasc в onPreExecute() создаётся и должен появится ProgressDialog. но он не появляется сразу. Вызываю AsyncTasc вот так: AsyncT AT = new AsyncT(); AT.execute(....);... подробнее

Показать сообщение отдельно
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
18.10.2014, 12:37
А почему бы не расширить EditText?
1. Делаем свой шикарный интерфейс

Java
1
2
3
4
5
6
7
8
9
10
11
12
import android.text.Editable;
import android.widget.EditText;
 
public interface AwesomeTextWatcher {
 
    public void beforeTextChanged(EditText targetEditText, CharSequence s, int start, int count, int after);
 
    public void onTextChanged(EditText targetEditText, CharSequence s, int start, int before, int count);
 
    public void afterTextChanged(EditText targetEditText, Editable s);
 
}
2. Делаем свой EditText:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.widget.EditText;
 
public class AwesomeEditText extends EditText implements TextWatcher {
 
    private AwesomeTextWatcher watcher;
 
 
    public void setWatcher(AwesomeTextWatcher watcher) {
        this.watcher = watcher;
    }
 
    public AwesomeEditText(Context context) {
        super(context);
    }
 
    public AwesomeEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public AwesomeEditText(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
 
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        if (watcher != null) {
            watcher.beforeTextChanged(this, s, start, count, after);
        }
    }
 
    @Override
    public void afterTextChanged(Editable s) {
        if (watcher != null) {
            watcher.afterTextChanged(this, s);
        }
    }
 
    @Override
    public void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
        super.onTextChanged(text, start, lengthBefore, lengthAfter);
        if (watcher != null) {
            watcher.onTextChanged(this, text, start, lengthBefore, lengthAfter);
        }
    }
}
3. Где надо вызываем

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.setWatcher(new AwesomeTextWatcher() {
            @Override
            public void beforeTextChanged(EditText targetEditText, CharSequence s, int start, int count, int after) {
                
            }
 
            @Override
            public void onTextChanged(EditText targetEditText, CharSequence s, int start, int before, int count) {
 
            }
 
            @Override
            public void afterTextChanged(EditText targetEditText, Editable s) {
 
            }
        });
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru