Android 单击按钮时显示和隐藏下拉列表?

Android 单击按钮时显示和隐藏下拉列表?,android,button,Android,Button,我正在使用一个按钮,单击它时,会打开一个下拉列表,箭头符号会发生变化。但我想在再次单击按钮时隐藏下拉列表。表示在单击按钮时交替显示和隐藏。我正在使用这个代码 protected void onCreate(Bundle savedInstanceState) { myphotosBtn=(Button)findViewById(R.id.myPhotosBtn); myphotosBtn.setOnClickListener(new OnClickListener() {

我正在使用一个按钮,单击它时,会打开一个下拉列表,箭头符号会发生变化。但我想在再次单击按钮时隐藏下拉列表。表示在单击按钮时交替显示和隐藏。我正在使用这个代码

    protected void onCreate(Bundle savedInstanceState) {
    myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);
    myphotosBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        arrowDown.setImageResource(R.drawable.arrow_up);
       findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
        }
    });
请帮助。

您可以使用布尔值

让我们说

    boolean isButton=true;


     protected void onCreate(Bundle savedInstanceState) {
        myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);
        myphotosBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {


            if(isButton){
                        arrowDown.setImageResource(R.drawable.arrow_up);
                       findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
                       isButton=false;
            }else{
                        arrowDown.setImageResource(R.drawable.down);
                       findViewById(R.id.dropdownList).setVisibility(View.GONE);
                       isButton=true;
                 }
            }
        });
您可以使用布尔值

让我们说

    boolean isButton=true;


     protected void onCreate(Bundle savedInstanceState) {
        myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);
        myphotosBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {


            if(isButton){
                        arrowDown.setImageResource(R.drawable.arrow_up);
                       findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
                       isButton=false;
            }else{
                        arrowDown.setImageResource(R.drawable.down);
                       findViewById(R.id.dropdownList).setVisibility(View.GONE);
                       isButton=true;
                 }
            }
        });
试试这个:

protected void onCreate(Bundle savedInstanceState) {
    myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);
    Boolean temp=false;
    myphotosBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        if(temp){
           arrowDown.setImageResource(R.drawable.arrow_down);
           findViewById(R.id.dropdownList).setVisibility(View.GONE);
           temp=false;
        }else{

            arrowDown.setImageResource(R.drawable.arrow_up);
            findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
            temp=true;
        }


        }
    });
以此为参考,发展你的逻辑

实现这一点的另一种方法是,使用CheckBox而不是Button,并编写onChecked方法代码。您也可以使用它来实现这一点。

尝试以下方法:

protected void onCreate(Bundle savedInstanceState) {
    myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);
    Boolean temp=false;
    myphotosBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        if(temp){
           arrowDown.setImageResource(R.drawable.arrow_down);
           findViewById(R.id.dropdownList).setVisibility(View.GONE);
           temp=false;
        }else{

            arrowDown.setImageResource(R.drawable.arrow_up);
            findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
            temp=true;
        }


        }
    });
boolean isshow=false;

protected void onCreate(Bundle savedInstanceState) {
    myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);

    myphotosBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if(!isshow)
                arrowDown.setImageResource(R.drawable.arrow_up);
                findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
                isshow=true;
            } else {
                arrowDown.setImageResource(R.drawable.arrow_up);
                findViewById(R.id.dropdownList).setVisibility(View.INVISIBLE);
                isshow=false;
            }
        });
以此为参考,发展你的逻辑

实现这一点的另一种方法是,使用CheckBox而不是Button,并编写onChecked方法代码。您也可以使用它来实现这一点

boolean isshow=false;

protected void onCreate(Bundle savedInstanceState) {
    myphotosBtn=(Button)findViewById(R.id.myPhotosBtn);

    myphotosBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if(!isshow)
                arrowDown.setImageResource(R.drawable.arrow_up);
                findViewById(R.id.dropdownList).setVisibility(View.VISIBLE);
                isshow=true;
            } else {
                arrowDown.setImageResource(R.drawable.arrow_up);
                findViewById(R.id.dropdownList).setVisibility(View.INVISIBLE);
                isshow=false;
            }
        });
您可以使用
SharedReferences
存储booolean变量值


您可以使用
SharedReferences
来存储booolean变量值。

我知道这个问题已经得到了回答,但是如果您在寻找创建菜单的下拉功能时遇到了这个问题:我想告诉您


这是安卓标准的创建弹出菜单的方法(它看起来就像按钮下的下拉列表)。

我知道这个问题已经得到了回答,但是如果你在寻找创建菜单的下拉功能时遇到了这个问题:我想告诉你


这是安卓标准的创建弹出菜单的方法(看起来就像按钮下的下拉列表)。

当一个按钮单击事件时,可以显示和隐藏图像。对吗?是的,我想这样做。我可以在按钮单击时显示列表,但想在再次单击时隐藏列表。您可以在单个按钮单击事件时显示和隐藏图像。对吗?是的,我想这样做。我可以在点击按钮时显示列表,但想再次在点击按钮时隐藏列表,以帮助您Nidhi.hi Hardy。你能告诉我为什么只有双击按钮才能打开列表吗?它在单曲上不起作用click@Nidhi是指第一次单击时它不可见?之后,每次单击都会显示并消失。。这就是问题所在?您需要将默认值设置为isButton=true;是的,很有效。。非常感谢你。。事实上,我对安卓系统还很陌生,所以我对这些事情不太了解。很高兴能帮助你。你能告诉我为什么只有双击按钮才能打开列表吗?它在单曲上不起作用click@Nidhi是指第一次单击时它不可见?之后,每次单击都会显示并消失。。这就是问题所在?您需要将默认值设置为isButton=true;是的,很有效。。非常感谢你。。事实上,我对安卓系统还很陌生,所以对这些事情不太了解。谢谢你的回复。但这种方法也有一些缺点。我用过哈代的方法。谢谢你的回答。但这种方法也有一些缺点。我用过哈代的方法。这一点完全正确。