我在SO和其他人身上搜索以找到解決方案。我用XML創建了一個TableView
,ID爲table
並動態填充(通過創建幾個TableViewRows
和TextFields
進入它們)。ID屬性在Android設備上用Titanium返回null
的問題是:當我嘗試用$.table.add(row)
編程方式添加的所有創建的項目,我對瀏覽器的預期結果,但Android的設備上的NullPointerException
。
我在我的代碼中做了一些測試,看看什麼是返回null
,發現ID屬性$.table
是問題。 Android中發生了什麼,以及如何解決它?
mytable.xml:
<Alloy>
<Window id="win_container">
<View id="wrapper">
<!-- The TableView -->
<TableView id="table" />
</View>
</Window>
</Alloy>
mytable.js:
for (...) {
// create TableViewRows
row = Ti.UI.createTableViewRow ({
className: "row",
...
});
// create several TextFields in one TableViewRow
for (...) {
tf = Ti.UI.createTextField ({
...
});
// add TextFields to the TableViewRow
row.add(tf);
}
// add TableViewRows to table
$.table.add(row); /// <----- '$.table' returns 'null'
}
任何幫助將不勝感激。
我用方法'appendRow()'的第一個解決方案,它解決了我的問題。謝謝。 – user4289005 2014-11-26 07:12:52