У меня проблемы с простой задачей.Неожиданное поведение с видимостью кнопки - Android
У меня есть 2 кнопки, и я хочу, чтобы в одно и то же время было видно только одно, поэтому, когда вы касаетесь одного, он скрывается, а другой появляется.
Это мой код:
fromAnex = new Button(this);
fromAnex.setText("from");
fromAnex.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ONClickListener", "from anex");
returnFromAnex();
}
});
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.LEFT_OF,plano.getId());
params.addRule(RelativeLayout.CENTER_VERTICAL);
rl.addView(fromAnex,params);
fromAnex.setVisibility(View.GONE);
toAnex = new Button(this);
toAnex.setText("to");
toAnex.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("ONClickListener", "Show anex");
showAnex();
}
});
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params2.addRule(RelativeLayout.RIGHT_OF,plano.getId());
params2.addRule(RelativeLayout.CENTER_VERTICAL);
rl.addView(toAnex,params2);
private void showAnex()
{
fromAnex.setVisibility(View.VISIBLE);
toAnex.setVisibility(View.GONE);
private void returnFromAnex()
{
fromAnex.setVisibility(View.GONE);
toAnex.setVisibility(View.VISIBLE);
Я действительно не могу понять, почему, но это первый вызов fromAnex.setVisibility(View.GONE);
работает, как и ожидалось, первый вызов showAnex() в fromAnex.setVisibility(View.VISIBLE);
работает тоже, но toAnex.setVisibility(View.GONE);
прямо под оленья кожа Работа.
И после этого ничего не происходит с видимостью кнопок, когда я касаюсь.
Кто-то может видеть, что случилось с моим кодом?
Извините за мой плохой английский и спасибо.
EDIT:
Это два метода Арент завершения, остальные не связаны с этой проблемой кнопки видимости.
Когда я установил видимость, чтобы исчезнуть сразу после создания кнопки, она работает, но затем я не могу установить видимость, чтобы снова уйти, вот и проблема.
Есть ли недостаток в исходном коде? В ваших методах 'showAnex' и' returnFromAnex' нет никаких закрывающих скобок '}'. –
. Чтобы сообщить вам, есть вид под названием «ViewSwitcher», который переключается между двумя видами и будет соответствовать вашему делу. – Piovezan