2

私はラジオボタンコントロールを含むブラックベリーアプリケーションに取り組んでいます。

HorizontalFieldManager hr = new HorizontalFieldManager();
setTitle("UI Component Sample"); 
RadioButtonGroup rbg = new RadioButtonGroup();
RadioButtonField r1 = new RadioButtonField("Option 1",rbg,true); 
RadioButtonField r2 = new RadioButtonField("Option 2",rbg,false);
hr.add(r1);
hr.add(r2);
add(hr);

このコードを使用すると、カーブデバイスに両方のラジオボタンが表示されますが、トーチデバイスにアプリをインストールすると、最初のラジオボタンのみが画面に表示されます。水平フィールドに1つのラジオグループを表示する際に問題が発生します。グループに垂直フィールドを使用すると機能します。

そして、私がカーブデバイスで作業するとき、水平と垂直の両方が機能します。

バスの種類や問題点を教えてください。

ラジオボタンが1つだけ表示されていることがわかります

ここに画像の説明を入力してください

4

1 に答える 1

2

OS 6ではRadioButtonField、幅に関して問題が発生します。メソッドをオーバーライドlayout(int, int)すると、問題が解決する場合があります。次のコードを試してください。

RadioButtonGroup rbg = new RadioButtonGroup();

RadioButtonField rbf = new RadioButtonField("Label", rbg, true) {
    protected void layout(int width, int height) {
        super.layout(getPreferredWidth(), height);
    }
};
于 2012-05-16T10:37:44.533 に答える