如何在android中使用可见和不可见的按钮

时间:2011-01-06 10:07:04

标签: android button onclick visibility

我想让按钮不可见,当我点击另一个按钮时,隐藏按钮将变为可见,然后对可见按钮执行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();
         }
     });

4 个答案:

答案 0 :(得分:26)

不要使用 -

donebutton.setVisibility(4);

而是使用静态常量:

donebutton.setVisibility(View.VISIBLE);

究竟意味着什么

done.setVisibility(0);

不应该是

donebutton.setVisibility(View.GONE);

答案 1 :(得分:1)

你走了:

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
 }
});

答案 2 :(得分:1)

希望这可以帮助您隐藏按钮,并在隐藏按钮时显示按钮。您需要在布局文件中有三个按钮才能跟随此示例。

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);
                        }
                    }
                });

答案 3 :(得分:0)

尝试onTouch()而不是onClick():Clickable TextView in Android