2017-10-10 49 views
0

我想创建一个OptionDialog这样在Android(每行有左侧标签和右侧的开关)复选框/开关(安卓Appcelerator的)的OptionDialog:我如何与

example optiondialog

但我使用的代码是不工作:

var optsView = Ti.UI.createView({ 
    backgroundColor : '#ffffff', 
}); 

var opts = ["aaa", "bbb", "ccc"]; 
for (var i = 0; i < opts.length; i++) 
{ 
    var row = Ti.UI.createView({ 
     backgroundColor: "#ffffff" 
    }); 

    var label = Ti.UI.createLabel({ 
     left: "8dp", 
     color: 'black', 
     size: '14sp', 
     title: opts[i] 
    }); 

    var check = Ti.UI.createSwitch({ 
     style : Ti.UI.Android.SWITCH_STYLE_CHECKBOX, 
     value : false, 
     right: "8dp" 
    }); 

    row.add(label); 
    row.add(check); 

    optsView.add(row); 
} 

var option = Ti.UI.createOptionDialog({ 
    title: 'Configuration', 
    androidView: optsView 
}); 

option.show(); 

该应用程序会崩溃,并显示该控制台上:

[ERROR] : TiExceptionHandler: (main) [6049,7004] ----- Titanium Javascript Runtime Error ----- 
[ERROR] : TiExceptionHandler: (main) [0,7004] - In undefined:124,16 
[ERROR] : TiExceptionHandler: (main) [0,7004] - Message: Uncaught java.lang.String cannot be cast to java.util.HashMap 
[ERROR] : TiExceptionHandler: (main) [0,7004] - Source:   option.show(); 

我想我的问题是在for循环。我试着评论这段代码和我的应用程序不会崩溃,但我不知道发生了什么问题。

回答

0

我的应用程序崩溃了,因为我输入“尺寸:‘器14sp’”:{字体:而不是“字体‘器14sp’ }“在Label构造函数上。