2

ユーザーがテキスト「検索:」を入力すると、デフォルトのラベルを検索フィールドに追加しようとしています。私はこれを試しました

editedField.setLabel("search:")

しかし、文字列検索を入れても消去されないため、機能しません。たとえば、「a」を入力すると、searcha が表示されます。助けてくれませんか?どうもありがとう。

4

3 に答える 3

1

onFocusメソッドをオーバーライドし、フィールドがフォーカスされたら、その内容をクリアします。

テキスト フィールドの内容を設定するには、代わりにsetTextメソッドを使用します。setLabel

于 2012-09-04T12:22:36.637 に答える
1

これを試して -

private String test="";
final EditField email_edit = new EditField("", "", 30,BasicEditField.FILTER_DEFAULT) {
    String emptyString = "Search";
    protected void paint(Graphics g) {
        int oldColor = g.getColor();
        try {
             g.setColor(0x959595);
             test = super.getText();
             if ( test == null || test.length() < 1 ) {
                 g.drawText(emptyString, 0, 0); 
             }
             super.paint(g);
        } finally {
             g.setColor(oldColor);
        }
    }
};
于 2012-09-04T13:14:12.117 に答える