所以我有一个警报列表,并将其绑定到列表视图 lstAlarms。在我的自定义 ListView 布局中,我还有一个开关,我想根据警报的状态以编程方式设置它。我想在刚刚显示 ListView 后立即执行此操作。
请在下面查看我的代码。显示 ListView 的方法是 DisplayAlarmList()。我试图用来设置开关状态的方法是 InitSwitches(),它在 DisplayAlarmList() 内部被调用。DisplayAlarmList() 在 onCreate() 方法中调用。
public void DisplayAlarmList()
{
final String[] columns = {Database.getAlarmID(), Database.getAlarmTime(), Database.getAlarmName(), Database.getAlarmStatus(), Database.getAlarmRepeats()};
Cursor c = Database.selectAlarm(db, Database.getTableName(), columns, null, null, null, null, null);
int[] to = new int[]{
R.id.alarmID,
R.id.alarmTime,
R.id.alarmName,
R.id.alarmStatus,
R.id.alarmRepeats,
};
SimpleCursorAdapter ca = new SimpleCursorAdapter(this,
R.layout.alarm_info,
c,
columns,
to,
0);
lstAlarm.setAdapter(ca);
InitSwitches();
lstAlarm.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> listView, View view, int position, long id)
{
Alarm alarm …Run Code Online (Sandbox Code Playgroud) 请参阅示例代码
-- 1st select, getting AssetID from asset table
SELECT GROUP_CONCAT(AssetID)
INTO @AssetIDs
FROM asset;
-- 2nd select, use @AssetIDs in an IN clause
SELECT AssetID
from asset
where AssetID IN (@AssetIDs)
Run Code Online (Sandbox Code Playgroud)
从第一个选择开始,它返回 10 个 ID,这些 ID 存储在@AssetIDs
所以我可以想象@AssetIDs = '1,2,3,4,5,6,7,8,9,10'
但是,第二个select始终返回第一个 ID,1。
谁能帮我找到一种方法来选择变量中的 ID 列表,并在 IN 子句中重用该变量?
所以这是我想要运行的查询
sqlcmd -E -S localhost\MSSQLSERVER_2016 -i C:\Tables.sql
Run Code Online (Sandbox Code Playgroud)
我在这个实例中有多个数据库,当上面的命令运行时,我不知道它运行查询的数据库.有什么方法可以使用sqlcmd来运行我希望它运行的数据库?
我也试过了
sqlcmd -E -S localhost\MSSQLSERVER_2016.mydatabase -i C:\Tables.sql
Run Code Online (Sandbox Code Playgroud)
但那没用.
因此,我尝试将更改从本地分支推送到具有相同名称的远程分支。我正在尝试做这样的事情。
git push origin "git rev-parse --abbrev-ref HEAD"
Run Code Online (Sandbox Code Playgroud)
引号内的命令返回当前签出分支的名称。我不确定这是否可能。
本质上,我正在构建一个可以为我添加、提交和推送的别名,它看起来像这样:
git config --global alias.fire '!f() {
git add -A && git commit -m "$1" && git push origin "git rev-parse --abbrev-ref HEAD";
}; f'
Run Code Online (Sandbox Code Playgroud)
现在,我只是试图获取当前签出的分支的名称并在另一个命令中使用它。有人有任何建议或不同的方法吗?谢谢
编辑:我正在使用Windows
我有一个简单的字符串,我把它分成一个数组:
var alphabet = "a,b,c,d,e";
var letters = alphabet.split(",");
var dict = [];
for ( var i = 0; i < letters.length; i++ ) {
dict[ letters[i] ] = true;
}
Run Code Online (Sandbox Code Playgroud)
让我感到困惑的是,当我做一个
console.log(dict[letters[0]] +"|"+ dict["a"]);
Run Code Online (Sandbox Code Playgroud)
我明白了
//true|undefined
Run Code Online (Sandbox Code Playgroud)
我不明白字母[0]和"a"之间的区别.而且我绝对相信字母[0]和"a"都是字符串的类型.
编辑:我只是尝试将变量"dict"从方括号更改为卷曲的但仍然给我未定义.
编辑2:以下代码是我正在使用的."dictionary.txt"是一个文本文件,包含由"\n"分隔的约90k个单词.在此文本文件中,字母"a"位于第一行.
$.get( "tiles/dictionary.txt", function( txt ) {
// Get an array of all the words
var words = txt.split( "\n" );
// And add them as properties to the dictionary lookup
// This will allow for fast lookups later
for ( …Run Code Online (Sandbox Code Playgroud) C#,我有一个汽车类,在那个类中我有一个 VehicleTrim 字段。我JsonConvert.SerializeObject用来序列化该类,它没有转义单引号。当我尝试通过window.localStorage.setItem函数在网络中设置对象的值时,这会导致问题。
例子:
public class Automobile
{
public string vehicleTrim { get; set; }
}
var test = new Automobile()
{
vehicleTrim = "designer's package"
};
var serialized = JsonConvert.SerializeObject(test, Formatting.None);
// serialized output: {"vehicleTrim":"designer's package"}
// expected output : {"vehicleTrim":"designer\'s package"}
Run Code Online (Sandbox Code Playgroud)
所以现在我想通过调用这个来将这个 json 对象设置为我的网络的本地存储
var jsSetScript = $"window.localStorage.setItem('automobile', '{serialized}');";
await Control.EvaluateJavascriptAsync(jsSetScript);
Run Code Online (Sandbox Code Playgroud)
EvaluateJavascriptAsync 在尝试读取 json 时返回此错误 SyntaxError: Unexpected identifier 's'. Expected ')' to end an argument list.
我用转义的单引号手动尝试了这个,它很好。所以问题是如何让 serializedobject 方法转义单引号?