Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 黑莓手机-线路不显示_User Interface_Blackberry_Blackberry Storm_Blackberry Editfield - Fatal编程技术网

User interface 黑莓手机-线路不显示

User interface 黑莓手机-线路不显示,user-interface,blackberry,blackberry-storm,blackberry-editfield,User Interface,Blackberry,Blackberry Storm,Blackberry Editfield,我对EditField有问题。 我在HorizontalFieldManager下使用此代码创建了一个EditField EditField nameEditLabel = new EditField (EditField.FOCUSABLE | EditField.NO_NEWLINE | EditField.FIELD_RIGHT); nameEditLabel.setMaxSize(25); nameEditLabel.setMargin(50, 0, 0, 80); horiz

我对EditField有问题。 我在HorizontalFieldManager下使用此代码创建了一个EditField

EditField nameEditLabel = new EditField (EditField.FOCUSABLE 
    | EditField.NO_NEWLINE | EditField.FIELD_RIGHT);
nameEditLabel.setMaxSize(25);
nameEditLabel.setMargin(50, 0, 0, 80);
horizontalFldManager.add(nameEditLabel);
现在的问题是,在屏幕上,它不显示字段的行。类似于,基本上一个字段包含名称:-------------其他平台控件中的这一行,在屏幕上没有显示。这里有什么问题?它是API支持中的默认值吗?如果否,如何解决

注意:只有当我在字段中写入内容时,才会创建此行


谢谢。

如果您想拥有此功能——如果EditField为空,请扩展它以实现校验值逻辑:

class LabelFieldEmpty extends EditField {
 String mEmptyText = "";

 public LabelFieldEmpty(long style) {
  super(style);
 }

 public void setEmptyText(String emptyText) {
  mEmptyText = emptyText;
 }

 public String getEmptyText() {
  return mEmptyText;
 }

 protected boolean keyChar(char key, int status, int time) {
  if (null != mEmptyText)
   if (getText().equalsIgnoreCase(mEmptyText)) {
    setText(String.valueOf(key));
    return true;
   }
  return super.keyChar(key, status, time);
 }

 protected void fieldChangeNotify(int context) {
  if (null != mEmptyText)
   if (!getText().equalsIgnoreCase(mEmptyText))
    if (getText().equalsIgnoreCase("")) {
     setText(mEmptyText);
     setCursorPosition(0);
    }
  super.fieldChangeNotify(context);
 }
}
使用示例:

class Scr extends MainScreen {

 public Scr() {
  String label = "Name:";
  String empty = "-------------------------";
  int maxChars = 25;
  long style = EditField.FOCUSABLE | EditField.NO_NEWLINE
    | EditField.FIELD_RIGHT;
  LabelFieldEmpty nameEdit = new LabelFieldEmpty(style);
  nameEdit.setLabel(label);
  nameEdit.setMaxSize(maxChars);
  nameEdit.setMargin(50, 0, 0, 80);
  nameEdit.setEmptyText(empty);
  add(nameEdit);
 }
}