当我从datasnapShot.getValue().toString
获取数据时,因为我的字符串或数据中有空格,JSONArray甚至不会将数据导入jsonArray。我该怎么办,我只需要使用这种方法。请给我一些东西或改变它,以便我可以做我的代码。我对编码和Android有了一点了解。
void updateSubjects() {
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference()
.child("posts-by-subjects").child(selectedStream).child("subjects");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<String> subjects = new ArrayList<String>();
try {
JSONArray jsonArray = new JSONArray(dataSnapshot.getValue().toString()); // **
for (int i = 0; i <= jsonArray.length(); i++) {
if (!jsonArray.get(i).toString().equalsIgnoreCase("null")) {
subjects.add(jsonArray.get(i).toString());
}
}
} catch (JSONException e) {
e.printStackTrace();
}
updateRecyclerView(subjects);
showHideProgressDialog(false);
}
答案 0 :(得分:0)
使用以下java方法:
String str = "Your string with spaces";
str = str.replace(" " , "");
像这样:
subjects.add(jsonArray.get(i).toString().replace(" ",""));