如何使用 checkboxes/Switches (Android Appcelerator) 创建 OptionDialog
How do I make an OptionDialog with checkboxes/Switches (Android Appcelerator)
我想在 Android 上创建一个像这样的 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 循环上。我试着评论那段代码,我的应用程序不会崩溃,但我不知道出了什么问题。
option
是保留关键字:https://www.w3schools.com/js/js_reserved.asp 所以不要将其用作变量名
我的应用程序崩溃了,因为我在 Label 构造函数中键入了 "size: '14sp'" 而不是 "font: { fontSize: '14sp' }"。
我想在 Android 上创建一个像这样的 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 循环上。我试着评论那段代码,我的应用程序不会崩溃,但我不知道出了什么问题。
option
是保留关键字:https://www.w3schools.com/js/js_reserved.asp 所以不要将其用作变量名
我的应用程序崩溃了,因为我在 Label 构造函数中键入了 "size: '14sp'" 而不是 "font: { fontSize: '14sp' }"。