2

我正在使用一个按钮并单击它,打开一个下拉列表并且箭头符号更改。但我想再次隐藏按钮单击时的下拉列表。意味着在按钮单击时交替显示和隐藏。我正在使用此代码。

    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

4 回答 4

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;
                 }
            }
        });
于 2013-09-20T09:47:00.873 回答
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 方法代码。您也可以使用它来实现这一点。

于 2013-09-20T09:48:49.980 回答
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存储布尔变量值。

于 2013-09-20T09:51:22.843 回答
0

我知道这个问题已经得到解答,但如果您可能偶然发现此问题,正在寻找创建菜单的下拉功能:我想向您指出此链接

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

于 2014-03-11T08:40:46.253 回答