REDLED.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
byte[] convertedBytes = convertingTobyteArray(
IMM_MID_ALERT1);
BluetoothLeService
.writeCharacteristicNoresponse(
gattCharacteristic,
convertedBytes);
}
});
GREENLED.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
byte[] convertedBytes = convertingTobyteArray(
IMM_MID_ALERT2);
BluetoothLeService
.writeCharacteristicNoresponse(
gattCharacteristic,
convertedBytes);
}
});
TWOLED.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
REDLED.callOnClick();
GREENLED.callOnClick();
}
});
我正在做一个闪烁LED的项目。我使用两个LED(红色,绿色).REDLED按钮用于闪烁红色LED和GREENLED按钮闪烁绿色LED。我想通过点击TWOLED按钮同时处理这两个功能。 但根据我的编码
"REDLED.callOnClick();
GREENLED.callOnClick();"
only GREENLED.callOnClick(); works.
otherwise if I code
"GREENLED.callOnClick();
REDLED.callOnClick();"
only REDLED.callOnClick(); works.
如何制作“GREENLED.callOnClick();和REDLED.callOnClick();工作 同时点击TWOLED按钮。
答案 0 :(得分:2)
我认为performClick()
是执行特定按钮点击的正确方法!
了解what is the difference between performClick() and callOnClick() methods的更多信息。
答案 1 :(得分:1)
只需改变一下:
TWOLED.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
REDLED.callOnClick();
GREENLED.callOnClick();
}
});
为:
TWOLED.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callRed();
callGreen();
}
});
callRed()
和callGreen()
的方法定义:
private void callRed() {
byte[] convertedBytes = convertingTobyteArray(
IMM_MID_ALERT1);
BluetoothLeService
.writeCharacteristicNoresponse(
gattCharacteristic,
convertedBytes);
}
private void callGreen() {
byte[] convertedBytes = convertingTobyteArray(
IMM_MID_ALERT2);
BluetoothLeService
.writeCharacteristicNoresponse(
gattCharacteristic,
convertedBytes);
}