как использовать видимое и невидимое для кнопки в Android - PullRequest
15 голосов
/ 06 января 2011

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

Какие onClick() действия, которые можно использовать навидимая кнопка.Я использовал этот метод, показанный ниже:

   donebutton = (Button) findViewById(R.id.done);
    donebutton.setOnClickListener(this);
    donebutton.setVisibility(View.INVISIBLE);

    @Override
     public void onClick(View v) {
    // TODO Auto-generated method stub
         if(v.equals(remove))
           {
             donebutton.setVisibility(View.VISIBLE);
           }
        if(v.equals(donebutton))
            {
                Intent i=new Intent(One.this,Second.class);
                startActivity(i);
                finish();
                donebutton.setVisibility(View.INVISIBLE);
            }

      }

В вышеописанном методе невидимые и видимые свойства работают, но действие onClick() не работает.поэтому, пожалуйста, скажите мне ответ на вышеупомянутую проблему или скажите, есть ли какой-либо другой метод для видимого и невидимого действия на кнопке и нажатия на нее.

, и я также использовал этот метод:

       done.setClickable(true);
       done.setOnClickListener(new OnClickListener(){
         public void onClick(View v) {
            Intent i=new Intent(One.this,Second.class);
            startActivity(i);
            finish();
         }
     });

Ответы [ 4 ]

27 голосов
/ 06 января 2011

DONT USE -

donebutton.setVisibility(4);

Вместо этого используйте для этого статические константы:

donebutton.setVisibility(View.VISIBLE);

Что именно означает

done.setVisibility(0);

Не предполагается, чтобыть

donebutton.setVisibility(View.GONE);
1 голос
/ 20 декабря 2014

Надеюсь, это поможет вам скрыть кнопки, а также показать кнопки, если они скрыты. Вам нужно иметь три кнопки в вашем файле макета, чтобы следовать этому примеру.

Button b3 = (Button) findViewById(R.id.button3);
     @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        if (b1.isShown() && b2.isShown()) {
                            b1.setVisibility(View.GONE);
                            b2.setVisibility(View.GONE);

                        } else {
                            b1.setVisibility(View.VISIBLE);
                            b2.setVisibility(View.VISIBLE);
                        }
                    }
                });
1 голос
/ 27 января 2011

Вот, пожалуйста:

Button theButton = (Button)findViewById(R.id.theButton);
theButton.setVisibility(View.VISIBLE);
theButton.setBackgroundColor(Color.TRANSPARENT);

phoneButton.setOnClickListener(new OnClickListener()
{ 
 @Override
 public void onClick(View v)
 {
  // DO STUFF
 }
});
0 голосов
/ 06 января 2011

Попробуйте onTouch () вместо onClick (): ClickView TextView в Android

...