我填写文本字段中的数据当我在Android键盘上按完它将输入tableviewrow中的数据,但我不知道如何? 我点击了按钮
,第二个问题是:我想删除点击按钮的数据 行有
hasCheck=true
i mean to say these rows on button click index.xml
<TableView id="table">
<TableViewRow title="Capsicum" onClick="select"></TableViewRow>
<TableViewRow title="Beans" onClick="select"></TableViewRow>
<TableViewRow title="Spinach" onClick="select"></TableViewRow>
<TableViewRow title="Pizza" onClick="select"></TableViewRow>
<TableViewRow title="Burger" onClick="select"></TableViewRow>
</TableView>
<TextField id="textfield" class="insertField" hintText="Add ingredients"></TextField>
<Button id="addButton" title="Add" onClick="addRow" ></Button>
<Button id="removeButton" title="Remove" onClick="removeRow" ></Button>
</Window>
index.js文件
function addRow(){
var myTextFieldValue = $.textfield.getValue();
var row=Ti.UI.createTableViewRow({title:myTextFieldValue});
$.table.appendRow(row);
}
function select(e) {
if (e.row.hasCheck) {
e.row.hasCheck = false;
} else {
e.row.hasCheck= true;
}
}
答案 0 :(得分:1)
如果您正确遵循Appc Docs:
,这很简单回答查询1:
对于TextField代理,有一个名为 return 的事件,当您在iOS或Android上按“完成”按钮或“返回”按钮时会调用该事件。但是,此返回按钮的标题可以是此处指定的任何内容: Return Key Title
因此,您必须在 TextField 节点中进行以下更改才能使其按下键盘上的Enter键,如下所示:
<TextField id="textfield" returnKeyType="Ti.UI.RETURNKEY_DONE" onReturn="addRow" class="insertField" hintText="Add ingredients" />
回答查询2:
您必须从表中获取所有行,这有点冗长,因为您无法直接从TableView获取行,而是首先需要获取TableView的第一部分&amp;然后来自部分的行。
注意: 如果您没有在TableView中添加任何部分,则默认情况下,Titanium会在TableView中添加一个部分并在此部分中添加行。这就是为什么你需要先处理第一部分的原因。
以下是删除按钮上的所有选中行的代码。
function removeRow() {
// first get all sections of table which will be first section in your case
var sections = $.table.sections;
// perform this check to make your code error free when there are no rows added to tableview.
if (sections.length !== 0) {
var rows = sections[0].rows;
var totalRows = rows.length;
if (totalRows !== 0) {
// now delete all rows which has uncheck=true
for (var i=0; i<totalRows; i++) {
var tempCurrentRow = rows[i];
if (tempCurrentRow.hasCheck) {
$.table.deleteRow(tempCurrentRow);
}
}
}
}
}
只需对添加代码进行微小更改,这样就不会意外添加空标题行:
function addRow(){
var myTextFieldValue = $.textfield.value.trim();
if (myTextFieldValue != "") {
$.table.appendRow( Ti.UI.createTableViewRow({title:myTextFieldValue}) );
}
}