Если вы удалите
else
из первый фрагмент, это эквивалентноlet x = if ("hello" = null) then true else ()
, который не проверяет тип.
Почему? Я предполагаю, что для совместимости с OCaml.
Часть
else expr3
может быть опущена, и в этом случае она по умолчаниюelse ()
. (7.7.2)Вы можете думать о
unit
- возвращенииif
в качестве эквивалента оператора C-likeif
в отличие от выражения.
У вас есть 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;
}
}
}