2017-10-10 53 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構造函數上。