如何在android studio中使用java在onlongclick事件中使用if-else语句 [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭] [关闭

问题描述 投票:0回答:1

我想用onlongclick事件做一个开关。我很困惑,每当我写if-else语句的时候,总是会出现一个错误

    chip_beard = (Chip) findViewById(R.id.chip_beard);
    chip_beard.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v){
            ImageView Body = (ImageView) findViewById(R.id.Body);
            if (Body.getVisibility(View.INVISIBLE)){
                Body.setVisibility(View.VISIBLE);
            } else if (Body.getVisibility(View.VISIBLE)){
                Body.setVisibility(INVISIBLE);
            }
            return false;
        }
    });`

这是我想放在if-else语句中的代码。

在安卓工作室中,我是个新手,所以谢谢你的帮助。

android android-studio android-event
1个回答
0
投票

你比较的可见性是错误的,因为 getVisibility 毫无争议

将你的代码改为

chip_beard = (Chip) findViewById(R.id.chip_beard);
chip_beard.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v){
        ImageView Body = (ImageView) findViewById(R.id.Body);
        if (Body.getVisibility() == View.INVISIBLE){
            Body.setVisibility(View.VISIBLE);
        } else if (Body.getVisibility() == View.VISIBLE){
            Body.setVisibility(INVISIBLE);
        }
        return false;
    }
});`

0
投票

一个好的做法是创建一个单独的方法,并在按钮内部调用。

itemToClick.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
     //Call your method here
yourMethod();
        return true; }});

Private void yourMethod(){
//Your logic here
}
© www.soinside.com 2019 - 2024. All rights reserved.