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

时间:2013-09-20 09:43:44

标签: android button

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

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

请帮忙。

4 个答案:

答案 0 :(得分:3)

您可以使用布尔值。

让我们说..

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

答案 1 :(得分:1)

试试这个:

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方法代码。您也可以使用它来实现这一目标。

答案 2 :(得分:0)

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

您可以使用sharedpreferences来存储布尔变量值。

答案 3 :(得分:0)

我知道这个问题已经得到解答,但是如果您可能偶然发现这一点正在寻找下拉功能来创建菜单:我想指向this link

这是Android标准如何创建弹出菜单(看起来与按钮下的下拉列表完全相同)。