Задать вопрос
@byNova

Как связать другой массив строк для TextView в слушателе?

Есть TextView, при нажатии на который выводится следующий текст. При появлении текста с определенным индексом выводится список вариантов ответа (ещё два TextView).

Проблема заключается в том, что после нажатии на один один из вариантов ответа не могу определить другой массив строк для основного TextView, так как массив уже определен в слушателе.

Это первое приложение, поэтому возможно реализация и код покажутся не очень хорошими.

mMainTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //индексация массива
            mCurrentIndex = (mCurrentIndex + 1) % mainTextArray.meetingTextsArray.length;

             //массив строк с изменением индекса при клике
            int text = mainTextArray.meetingTextsArray[mCurrentIndex].getTextResId();
            mMainTextView.setText(text);
            //при нужном индексе всплывают варианты ответа(ещё 2 textview)
            if(mCurrentIndex == 1) {
                showChoiceButtons(R.string.meeting_left_text, R.string.meeting_right_text,
                        mMainTextView);

                leftChoiceButtonPressed();
            }
        }
    });

}

private void leftChoiceButtonPressed() {

 //первый вариант ответа, затем нужно изменить массив строк для основного
 //textview
    mLeftChoiceTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mMainTextView.setText("Тестим");
        }
    });
}

    private void showChoiceButtons(int leftButton, int rightButton, View view) {
    //показать всплывающие варианты ответа
    mLeftChoiceTextView.setVisibility(View.VISIBLE);
    mRightChoiceTextView.setVisibility(View.VISIBLE);
    mLeftChoiceTextView.setText(leftButton);
    mRightChoiceTextView.setText(rightButton);
    view.setClickable(false);
}

  • Вопрос задан
  • 34 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@red-barbarian
private void leftChoiceButtonPressed() {

 //первый вариант ответа, затем нужно изменить массив строк для основного
 //textview
    mLeftChoiceTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            setSomeNewArray();
            mMainTextView.setText("Тестим");
            mMainTextView.setClickable(true)
        }
    });
}

??? это хотите?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы