当按下删除按钮时,无法按下太长的按钮点

时间:2019-10-22 04:02:28

标签: java android

我正在做一个计算器应用程序,并且所有按钮都是功能,但是当我按下Delete的时间太长时,无法按下指向按钮。谁能帮我?谢谢。

这是我到目前为止所做的,我应该做些更改吗?对我的英语不好对不起。

有任何错误
delete.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onDeleteAll();
                return true;
            }
            return false;
        }
    });

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    root = inflater.inflate(R.layout.fragment_num_input, container, false);
    return root;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    vPoint = root.findViewById(R.id.buttonPoint);
    vPoint.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onSelected(".");
            }
        }
    });
    for (int i = 0; i < numberButtons.length; i++) {
        int buttonId = getResources().getIdentifier("button" + i, "id", getActivity().getPackageName());
        numberButtons[i] = root.findViewById(buttonId);
        final int finalI = i;
        numberButtons[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(onNumSelectedListener != null){
                    onNumSelectedListener.onSelected(String.valueOf(finalI));
                }
            }
        });
    }
    vDelete = root.findViewById(R.id.buttonDelete);
    vDelete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onActionSelected(ACTION_DELETE);
            }
        }
    });
    vDelete.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onDeleteAll();
                return true;
            }
            return false;
        }
    });
    vConfirm = root.findViewById(R.id.buttonConfirm);
    vConfirm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null  ){
                onNumSelectedListener.onActionSelected(ACTION_CONFIRM);    /*|| !onNumSelectedListener.equals(0)*/
            }
        }
    });
    vPlus = root.findViewById(R.id.buttonPlus);
    vPlus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onActionSelected(ACTION_ADD);
            }
        }
    });
    vMinus = root.findViewById(R.id.buttonMinus);
    vMinus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onActionSelected(ACTION_MINUS);
            }
        }
    });
    vMultiplication = root.findViewById(R.id.buttonMultiplication);
    vMultiplication.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onActionSelected(ACTION_MULTIPLICATION);
            }
        }
    });
    vDivision = root.findViewById(R.id.buttonDivision);
    vDivision.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(onNumSelectedListener != null){
                onNumSelectedListener.onActionSelected(ACTION_DIVISION);
            }
        }
    });
}

public void setOnNumSelectedListener(onNumSelectedListener onNumSelectedListener) {
    this.onNumSelectedListener = onNumSelectedListener;
}

public void setConfirmClickable(boolean confirmClickable){
    vConfirm.setEnabled(confirmClickable);
    if(confirmClickable){
        vConfirm.setBackgroundColor(Color.parseColor("#ff6f00"));
        vConfirm.setTextColor(Color.WHITE);
    }else{
        vConfirm.setBackgroundColor(Color.parseColor("#f4f5f7"));
        vConfirm.setTextColor(Color.parseColor("#c2c2c2"));
    }
}


public interface onNumSelectedListener {

    void onSelected(String num);
    void onActionSelected(int action);
    void onDeleteAll();
}

}

0 个答案:

没有答案