@FoxInSox

Терминология в Android разработке?

Предположим существует два TextView которые связаны какой-либо логикой и общим поведением (например в один вводится цифра, второй отображает умноженное значение умноженное на два). Эти два поля появляются в нескольких местах, в разных Activity. Очевидно, что логику поведения этих TextView резонно вынести в отдельны класс. Пример:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.some_layout);

    TextView textViewA = (TextView) findViewById(R.id.textViewA);
    TextView textViewB = (TextView) findViewById(R.id.textViewB);

    TextViewController textViewController = new TextViewController(textViewA, textViewB);
}

public class TextViewController{
    public TextViewController(TextView textViewA, TextView textViewB){
        //creating listeners, setting texts, fetching data from models and so on
    }
}


Вопрос: существует ли устаканившееся, общепринятое название для подобных классов? ViewController или просто Controller? Ведь по сути любая Activity содержащая более или менее сложный контент удобнее разделить на подобные компоненты, а не впихивать все в один файл Activity.
  • Вопрос задан
  • 3026 просмотров
Решения вопроса 2
@bimeg
По-моему такое проще делать фрагментами.
Ответ написан
Комментировать
itspers
@itspers
Это просто кастомный компонент.

developer.android.com/guide/topics/ui/custom-components.html

Тут в разделе 5 - www.vogella.com/articles/AndroidCustomViews/article.html

В общем виде: создаете класс, наследующий View или что-нить более подходящее, например LinearLayout. В этом классе создаете 2 текстовых поля (или что там надо), можно прямо к коде создать, можно заделать им xml и создать из него. Прописываете им всякие методы, обработчики на интпуты, можно кастомные аттрибуты для xml создать...

А потом все это дело юзается в xml как
<com.example.conponents.mycomponents ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы