Android щелчок текст

Типы значений, создаваемых в каждой ветви, должны совпадать. Если нет явной ветви else, ее тип является единицей. Поэтому, если тип ветви then - это любой тип, отличный от единицы, должна быть ветвь else с тем же типом возвращаемого значения.

Если вы удалите else из первый фрагмент, это эквивалентно

let x = 
    if ("hello" = null) 
    then true
    else ()

, который не проверяет тип.

Почему? Я предполагаю, что для совместимости с OCaml.

Часть else expr3 может быть опущена, и в этом случае она по умолчанию else (). (7.7.2)

Вы можете думать о unit - возвращении if в качестве эквивалента оператора C-like if в отличие от выражения.

-2
задан Ricola 19 January 2019 в 12:51
поделиться

1 ответ

У вас есть 4 кнопки и 6 TextView, поэтому неясно, что вы хотите.
Чтобы установить текст TextView, вы используете его метод setText (), например:

textViews[1].setText("something");

Если вы хотите, чтобы текст Button отображался в TextView:

textViews[1].setText(buttons[1].getText().toString());

Итак, внутри onClick() реализуйте логику, которую вы хотите применить в каждом случае, используя приведенный выше код, например:

case R.id.Button2:
    textViews[X].setText(buttons[X].getText().toString());
    break;

Редактировать
[1111 ] Если вы хотите установить текст только 1-го TextView, я думаю, это textViews[0],
, тогда вам не нужно выражение switch:

@Override
public void onClick(View v) {
    Button button = (Button) v;
    textViews[0].setText(button.getText().toString());
}
[1119 ] Edit2
Если вы хотите установить последовательно текст TextView s

@Override
public void onClick(View v) {
    Button button = (Button) v;
    for (int i = 0; i < textViews.length; i++) {
        if (textViews[i].getTag() == null) {
            textViews[i].setText(button.getText().toString());
            textViews[i].setTag("0");
            break;
        }
    }
}
0
ответ дан forpas 19 January 2019 в 12:51
поделиться
Другие вопросы по тегам:

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