我正在尝试禁用onsucceed()
方法上的按钮。但是我尝试了所有可能的选项,例如button.setVisibility()
,button.setEnabled()
,但没有任何效果。根本原因可能是什么?
这是我的代码:
if(device1notConnected) {
scanneddevice1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
if(device1notConnected==false)
scanneddevice1.setClickable(false);
device1.connect(new DeviceConnectCallback() {
@Override
public void onSucceed(Device device1, DeviceConnectResult result) {
device1notConnected = false;
Log.d(TAG, "The connection is successful");
Toast.makeText(getApplicationContext(), "The connection is successful", Toast.LENGTH_SHORT).show();
// The connection is successful...
}
@Override
public void onError(Device device, DeviceCallbackException e) {
Log.d(TAG,"error");
}
});
}
});
}
答案 0 :(得分:0)
尝试立即在onClick方法中调用“ setEnabled(false)”(完全删除device1notConnected布尔值和“ if”检查项)。在“ onError”中,调用“ setEnabled(true)”,以便用户可以重试。如果onError在后台线程上,则使用按钮上的post方法进行调用,并提供一个执行'setEnabled(true)'的可运行对象