Titanium + ColumnPicker& removeAllChildren v2

时间:2013-12-16 15:09:16

标签: titanium picker

此问题会更新最早的主题https://stackoverflow.com/questions/20609650/titanium-columnpicker-removeallchildren-methode/20612209?noredirect=1#20612209

我遇到了来自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。 我找不到任何解决方案来删除它。

1 个答案:

答案 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();
}

希望能帮助遇到同样问题的人。 祝你有愉快的一天。