1

BlackberryアプリのHorizo​​ntalFieldManagerにbuttonFieldを追加しました。EditFieldを追加してから追加しました。しかし、buttonFieldは表示されません。以下は私のコードです

HorizontalFieldManager hfm = new HorizontlFieldManager(); 
    BasicEditField edit = new BasicEditField("Label", "UP");
    ButtonField button = new ButtonField("Search");
    hfm.add(edit);
    hfm.add(button);
    add(hfm);
4

4 に答える 4

2

編集フィールドの幅とボタンの幅を設定する必要があります

protected void layout(int width,int height)
{
super.layout(Display.getWidth() * 3 /4  , getpreferedHeight());
super.setExtent(Display.getWidth() * 3/4    , getpreferedHeight());
}

ボタン用

protected void layout(int width,int height)
{
super.layout(Display.getWidth() /4  , getpreferedHeight());
super.setExtent(Display.getWidth() /4   , getpreferedHeight());
}
于 2012-09-15T17:25:55.783 に答える
2

この答えはあなたの問題を解決しませんが、あなたのコードは絶対に素晴らしいこと、そしてそれは何も悪いことではないことに注意することが重要です。

HorizontalFieldManagerクラスはOS5.0で導入されたバグでいっぱいで、今日(最新バージョンは7.x)に関しては、RIMはそれを修正する意図をまったく示していません。

サンプルとして、BB Developer Issue Trackerのバグの問題がありますが、まだ解決されていません。私は最新のプロジェクトでhfmに対処する必要があり、Shashankの回答が示すように、自分のマネージャーを作成することで回避しなければならない問題にも直面しました。SOでカスタムマネージャーを作成する方法については、他にも例があります。また、ここでは基本について説明します。

RIMはBB10(C ++)に移行しており、Java APIをダンプしているため、これが現在唯一の解決策です。すぐに修正されるとは思わないでください。修正されたとしても修正されませんが、最新のOSバージョンでは、BBデバイスがアップグレードされることはめったにないので役に立ちません。

于 2012-09-17T11:29:34.283 に答える
0

Shashankは基本的に正しい方向に進んでいたと思いますが、ButtonField幅を変更する方法のより完全な例については、この回答を参照することをお勧めします

于 2012-09-16T03:28:21.937 に答える
-1

HorizantalFieldManagerの代わりにVerticalFieldManagerを取得します

于 2012-09-15T08:50:36.847 に答える