我正在做一个计算器应用程序,并且所有按钮都是功能,但是当我按下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();
}
}