如何处理?缺省黑莓文本编辑框能够换行,如何才能让EditField不换行?

简单的解决办法:

可以设置EditField不能接受回车键,设置最大字符个数。

EditField loginIDField = new EditField("Login", "hello ", MAX_CHARS, EditField.NO_NEWLINE);

 

 

但是,如果用户敲入字符小于“最大字符个数”,但是超出EditField的长度的时候,EditField还是会自动换行。

解决办法:

创建一个定制组件,将EditField放到HorizontalFieldManager ,而HorizontalFieldManager 使用HORIZONTAL_SCROLL style可以不换行但是可以录入很多字符,即使超长也不会换行。

 

/* http://www.dogizmo.com/gadget/sample-code-scrollable-one-line-text-input-field */
package com.rim.samples.device.helloworlddemo;

import net.rim.device.api.system.Display;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.ListField;
import net.rim.device.api.ui.container.HorizontalFieldManager;

public class OneLineTextField extends HorizontalFieldManager {
    private EditField _editField;

    public OneLineTextField(String label, String initialValue, int maxChars, long style) {
        super(HORIZONTAL_SCROLL);
        _editField = new EditField(label, initialValue, maxChars, style | EditField.NO_NEWLINE | EditField.FOCUSABLE | EditField.EDITABLE);
        add(_editField);
    }
 /*
   
    protected void sublayout(int maxWidth, int maxHeight) {
  super.sublayout(getPreferredWidth(), maxHeight );
 }


 public int getPreferredWidth()
    {
        return 200;
    }
*/
   
    public String getText() {
        return _editField.getText();
    }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值