Android - 如何在条件下显示按钮?

Gee*_*Out 3 android

我有一个基本上看起来像这样的按钮:

 <Button
    android:id="@+id/admin_new_questions"        
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="See Asked Questions"
    />    
Run Code Online (Sandbox Code Playgroud)

我尝试只在某些情况下显示它:

if ( clause )
{
        Button admin_see_questions = (Button)findViewById(R.id.admin_new_questions);   
        admin_see_questions.setOnClickListener(new Button.OnClickListener() 
        {  
            public void onClick(View v) 
            {
           ....    
            }
        });        
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,所有情况下都会显示该按钮,但如果该子句是错误,则不会监听监听器.

如果该条款为真,我怎样才能使按钮显示?

谢谢!

Séb*_*ien 7

您的按钮位于XML布局中,因此您可以隐藏它或仅通过更改它来显示它 visibility

注意:您只需要执行这些操作一次:

  1. 获取对按钮的引用 findViewById()
  2. 设置OnClickListener按钮

    <Button
    android:id="@+id/admin_new_questions"        
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="See Asked Questions"
    
    android:visibility="invisible" //Initially hide the button
    
    />    
    
    Run Code Online (Sandbox Code Playgroud)

-

Button admin_see_questions = (Button)findViewById(R.id.admin_new_questions);   
admin_see_questions.setOnClickListener(new Button.OnClickListener() 
{  
    public void onClick(View v) 
    {
        ....       
    }
});  

if ( clause )
{
    admin_see_questions.setVisibility(View.VISIBLE); //SHOW the button
}
Run Code Online (Sandbox Code Playgroud)