我有一个 Firebase 架构,其中包含带有几个值的表“目录”
目录表
我使用 avgDrinkPrice 作为订单做了一个 orderByChild() 并且输出是错误的。
输出
代码
myRef.orderByChild("avgDrinkPrice").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
catalogList.clear();
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
Catalog catalog = postSnapshot.getValue(Catalog.class);
catalogList.add(catalog);
Log.d(TAG,"Drink price " + catalog.getAvgDrinkPrice());
catalogSize++;
}
//LOOP ENDS.
Run Code Online (Sandbox Code Playgroud)
我尝试使用其他数值进行排序,例如纬度字段、经度和评级,它们的顺序是正确的。只有按 avgDrinkPrice 排序时,顺序才会出错。我不明白为什么。请帮忙。
我正在构建一个代码来将用户输入添加到文件中,但我想捕获一个用户只输入空格而不输入任何其他内容的事件.我怎么做?目前我正在硬编码""和"",如果用户输入一个空格或两个空格,它会被捕获,但我相信有一个比我更好的解决方案.
Proc将用户输入插入文本文件
proc inputWords {entryWidget} {
set inputs [$entryWidget get]
$entryWidget delete 0 end
if {$inputs == ""} {
.messageText configure -text "No empty strings"
} elseif {$inputs == " " || $inputs == " "} {
.messageText configure -text "No whitespace strings"
} else {
set sp [open textfile.txt a]
puts $sp $inputs
close $sp
.messageText configure -text "Added $inputs into text file."
}
}
Run Code Online (Sandbox Code Playgroud)
GUI代码
button .messageText -text "Add words" -command "inputWords .ent"
entry …Run Code Online (Sandbox Code Playgroud)