Android 带有可点击按钮的图像按钮=";假;仍然可以点击
我使用ImageButton拨打电话,但在我点击showPhoneNumberBtn ImageButton之前,它不应被单击Android 带有可点击按钮的图像按钮=";假;仍然可以点击,android,onclicklistener,android-phone-call,Android,Onclicklistener,Android Phone Call,我使用ImageButton拨打电话,但在我点击showPhoneNumberBtn ImageButton之前,它不应被单击 ImageButton showPhoneNumberBtn = root.findViewById(R.id.showPhoneNumberBtn); showPhoneNumberBtn.setOnClickListener(new View.OnClickListener() { @SuppressLint("ResourceAsColor") @
ImageButton showPhoneNumberBtn = root.findViewById(R.id.showPhoneNumberBtn);
showPhoneNumberBtn.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ResourceAsColor")
@Override
public void onClick(View v) {
TextView phoneNumber = root.findViewById(R.id.phoneNumberText);
phoneNumber.setText(currentUser.getPhoneNumber());
ImageButton makeCallBtn = root.findViewById(R.id.makeCallBtn);
makeCallBtn.setClickable(true);
Drawable img = getContext().getDrawable(R.drawable.ic_call_black_24dp);
img.setTint(Color.parseColor("#3CB371"));
makeCallBtn.setBackground(img);
}
});
ImageButton makeCallBtn = root.findViewById(R.id.makeCallBtn);
makeCallBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CALL_PHONE}, 1);
if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + phoneNumber));
startActivity(callIntent);
} else {
Toast.makeText(getContext(), "You don't assign permission.", Toast.LENGTH_SHORT).show();
}
}
});
使用
setOnClickListener
将可单击状态重置为true。您需要立即将其设置为false
从源代码:
public void setOnClickListener(OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
可以找到详细的解释。这是这篇文章中的复制粘贴:@Boken没有诚实地复制粘贴它。我会提到这个帖子。