【问题标题】:Titanium Appcelerator: Creating a TextField in a TableViewTitanium Appcelerator:在 TableView 中创建 TextField
【发布时间】:2012-06-26 13:43:17
【问题描述】:

我尝试了几种不同的方法。我得到了要在表格视图中显示的文本字段(我想要一个文本字段表),但是在我键入时文本没有出现在字段中。键盘来了,它是可点击的。不在表格视图中时,相同的文本字段效果很好。

 textFields['user'] = Ti.UI.createTextField({
width:"100%", height:50,
softKeyboardOnFocus : Ti.UI.Android.SOFT_KEYBOARD_SHOW_ON_FOCUS
 });

 ....

 var myRows = [];

 var myRow = Titanium.UI.createTableViewRow({height:50, touchEnabled:false});
 myRow.add(textFields['user']);

 myRows.push(myRow);

 tableview = Ti.UI.createTableView({
data: myRows
 });

 var view = Ti.UI.createView({top:10});
 view.add(tableview);
 serverInfoWinInstance.add(view);

我已经尝试像往常一样将 tableview 直接添加到窗口中,但同样的事情发生了。我使用的是 Android,但我希望它也能在 iPhone 上运行。

【问题讨论】:

  • 键入时光标移动但文字不出现?
  • 我遇到了同样的问题,发现这些错误记录在 appcelerator 的 jira 中。希望其他信息对您有所帮助,jira.appcelerator.org/browse/TIMOB-13567jira.appcelerator.org/browse/TC-1715
  • 我遇到了同样的问题。不得不摆脱tableview,下面的答案不起作用......我不知道这是否是appcelerator的android的错误,但它很烂......

标签: javascript mobile titanium appcelerator


【解决方案1】:

您没有构造文本字段 value 属性

textFields['user'] = Ti.UI.createTextField({
value : "",  // need construct the value 
width:"100%", 
height:50,
softKeyboardOnFocus : Ti.UI.Android.SOFT_KEYBOARD_SHOW_ON_FOCUS
});

或使用:

textFields['user'] = Ti.UI.createTextField({
    hintText: 'Enter Name '
    width:"100%", 
    height:50,
    softKeyboardOnFocus : Ti.UI.Android.SOFT_KEYBOARD_SHOW_ON_FOCUS
    });

【讨论】:

    【解决方案2】:

    我认为您的问题可能是您的表格行有touchEnabled : false,该表格的所有子元素都继承了它。因此,当您将文本字段添加到表格行时,它们也有touchEnabled : false

    【讨论】:

      猜你喜欢
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2020-10-06
      • 2013-04-05
      相关资源
      最近更新 更多