我遇到了来自ColumnPicker的removeAllChildren方法的问题。 http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.PickerColumn-method-removeAllChildren
给@Krishna-Kumar的瘦身,我接近我想要的结果。
function pickercapteur(table)
{
Ti.API.info("capteur ok");
var test = column3.getRows();
if(test != null)
{
for (var rowpicker in column3.getRows())
{
console.log(rowpicker);
column3.removeRow(rowpicker);
rowpicker =null;
}
}
for(var i=0, ilen=table.length-1; i<ilen; i++){
var row = Ti.UI.createPickerRow({title: table[i]});
column3.addRow(row);
}
addpickercapteur();
}
//Ti.API.info(column3.getRowCount());// ! if there is no row. it will CRASH appli instead of return 0, can't use it at the begin of my application!
//that why i use test!=null.
不幸的是,它没有删除内容,但我在控制台中有一条消息: (因为你可以瘦,是的,当我想删除它时,我在column3中有7个对象。)
[INFO][TiAPI ( 2672)] 0
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 1
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 2
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 3
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 4
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 5
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
[INFO][TiAPI ( 2672)] 6
[WARN][PickerColumnProxy( 2672)] Unable to remove the row. Invalid type for row.
我尝试removeselectedrow();但只有选择器有这个方法,而不是Columnpicker。 我找不到任何解决方案来删除它。
答案 0 :(得分:0)
好。
垃圾邮件:我的结果与之前相同:空指针异常。当我使用removeAllRow()时它是一样的。
在您删除所有内容并放入新内容的那一刻,没有任何对象。 (ty队长很明显)。所以我有一个空指针异常。
这是我的解决方案,也许不是有史以来最好的解决方案。但有效。 只需在变量中输入您拥有的行数,在放入新值后删除它。
function pickercapteur(table)
{
Ti.API.info("capteur ok");
var taille;
test = column3.getRows();
if (test != null)
{
taille = test.length -1;
}
//Ti.API.info(column3.getRowCount());// ! NE MARCHE PAS SI NULL ET PLANTE L'APPLI !
for(var i=0, ilen=table.length-1; i<ilen; i++){
var row = Ti.UI.createPickerRow({title: table[i]});
column3.addRow(row);
}
if (taille != null)
{
for (var i = taille; i >= 0; i--){
column3.remove(test[i]);
};
}
addpickercapteur();
}
希望能帮助遇到同样问题的人。 祝你有愉快的一天。