web-dev-qa-db-ja.com

androidのボタンの可視および非可視の使用方法

ボタンを非表示にしたいのですが、別のボタンをクリックすると、非表示のボタンが表示され、表示されたボタンで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()アクションは機能していません。そのため、上記の問題の答えを教えてください。または、ボタンの表示と非表示、およびそのボタンのonclickアクションに他の方法があるかどうかを教えてください。

また、私はこの方法を使用しました:

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

使用禁止-

donebutton.setVisibility(4);

代わりに、このために静的定数を使用します。

donebutton.setVisibility(View.VISIBLE);

正確に何を意味する

done.setVisibility(0);

あるはずではない

donebutton.setVisibility(View.GONE);
27
fiction

どうぞ:

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
 }
});
1
ingh.am

ボタンが非表示になっている場合は表示するだけでなく、ボタンを非表示にするのに役立つことを願っています。この例を実行するには、レイアウトファイルに3つのボタンが必要です。

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

OnClick()の代わりにonTouch()を試してください。 Androidでクリック可能なTextView

0
Floern