BlackBerry:トグルボタンのようにボタンフィールドを動作させるにはどうすればよいですか?
-
02-10-2019 - |
質問
開始/停止ボタンとして使用したいボタンが1つあります。トグルボタンとしてボタンフィールドを動作させるにはどうすればよいですか?
助けてください。
解決
FieldChangeまたはNavigationClickまたはTouchEventのボタンラベルを変更するだけで、クラスメンバーのトグル状態を保存することを忘れないでください。
class ToggleButtonField extends ButtonField {
int mToggleState = -1;
String[] mLabels = {};
public ToggleButtonField(String[] labels) {
super(CONSUME_CLICK);
if(labels != null && labels.length > 0)
{
mLabels = labels;
mToggleState = 0;
updateLabel();
}
}
private void updateLabel() {
setLabel(mLabels[mToggleState]);
}
protected void fieldChangeNotify(int context) {
mToggleState = getNextToggleState(mToggleState);
updateLabel();
super.fieldChangeNotify(context);
}
private int getNextToggleState(int state) {
int result = mToggleState+1;
if(result >= mLabels.length)
result = 0;
return result;
}
}
所属していません StackOverflow