gpt4 book ai didi

java - for 循环返回空并且单击时没有显示任何内容

转载 作者:行者123 更新时间:2023-12-02 09:31:48 26 4
gpt4 key购买 nike

[Firestore Data image

当我运行程序并单击按钮时,它意味着从数组中选择一个随机索引并显示内容。当随机数等到达 for 循环并且它从数组中检索不到数据时,它就全部起作用了

我已经在谷歌上搜索了一段时间,只是让我自己尝试不同的东西感到困惑。抱歉,我对 java 和 android studio 很陌生


public void onClick(View view) {

txtDisplay = findViewById ( R.id.textViewDisplay );
int color = cColorWheel.getColor ();
txtDisplay.setBackgroundColor ( color );
//=========================================
Random rn = new Random ();
int RN = rn.nextInt ( 14 );
//========================================================
FactRef.whereArrayContains ( "facts", RN ).get ()
.addOnSuccessListener ( new OnSuccessListener<QuerySnapshot> () {

public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
StringBuilder data = new StringBuilder ();
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
Fact note = documentSnapshot.toObject ( Fact.Class );
note.setDocumentId ( documentSnapshot.getId () );

String documentId = note.getDocumentId ();


data.append ( "Id:" ).append ( documentId );
for (String tag : note.getTags ()) {
data.append ( "\n-" ).append ( tag );
}
data.append ( "\n\n" );
}
txtDisplay.setText ( data.toString () );


}
} );
}

如有任何帮助,我们将不胜感激

最佳答案

如果您使用以下代码行:

Random rn = new Random();
int RN = rn.nextInt(14);
FactRef.whereArrayContains("facts", RN).get().addOnSuccessListener(/* ... */);

facts返回一个随机项目基于等于 0 到 14 之间数字的索引的数组,请注意这是不可能的。您无法查询您的RNDFacts使用whereArrayContains()收集基于特定的索引。该方法正在搜索与其自身相同的项目。例如,如果您想在数组中搜索:

Superman Didn't Always Fly

这是您应该使用的查询:

String fact = "Superman Didn't Always Fly";
FactRef.whereArrayContains("facts", fact).get().addOnSuccessListener(/* ... */);

如果你想从 facts 中获取随机项目数组,您应该获取整个文档, get the facts array property as a List<String> 并使用以下几行:

List<String> facts = (List<String> facts) document.get(facts);
Random rn = new Random();
int RN = rn.nextInt(facts.size());
String fact = facts.get(RN);

关于java - for 循环返回空并且单击时没有显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com