質問編集履歴

1

「試したこと」で言及した確認方法のコードを追加。

2020/09/03 15:44

投稿

t76225
t76225

スコア8

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ```Java
28
28
 
29
- //指定のドキュメントリファレンスの指定のフィールドのデータを返す関数
29
+ //指定のドキュメントリファレンスの指定のフィールドのデータを返す関数 (本題)
30
30
 
31
31
  public Object getFirestoreData (DocumentReference docRef, final String field) {
32
32
 
@@ -66,6 +66,110 @@
66
66
 
67
67
  }
68
68
 
69
+
70
+
71
+
72
+
73
+ //取得したデータが正常にdata[0]に格納されていることが確認できた関数 (試したこと1)
74
+
75
+ public void setFirestoreData (DocumentReference docRef, final String field, final TextView text_view) {
76
+
77
+ final Object[] data = new Object[1];
78
+
79
+ final String[] str = new String[1];
80
+
81
+ docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
82
+
83
+ @Override
84
+
85
+ public void onComplete(@NonNull Task<DocumentSnapshot> task) {
86
+
87
+ if (task.isSuccessful()) {
88
+
89
+ DocumentSnapshot document = task.getResult();
90
+
91
+ if (document.exists()) {
92
+
93
+ data[0] = document.get(field);
94
+
95
+ } else {
96
+
97
+ data[0] = "no_data";
98
+
99
+ }
100
+
101
+ } else {
102
+
103
+ data[0] = "failure";
104
+
105
+ }
106
+
107
+ str[0] = data[0].toString();
108
+
109
+ text_view.setText(str[0]);
110
+
111
+ }
112
+
113
+ });
114
+
115
+ }
116
+
117
+
118
+
119
+
120
+
121
+ //onComplete外ではdata[0]==nullが確認できた関数 (試したこと2)
122
+
123
+ public void setFirestoreData (DocumentReference docRef, final String field, final TextView text_view) {
124
+
125
+ final Object[] data = new Object[1];
126
+
127
+ final String[] str = new String[1];
128
+
129
+ docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
130
+
131
+ @Override
132
+
133
+ public void onComplete(@NonNull Task<DocumentSnapshot> task) {
134
+
135
+ if (task.isSuccessful()) {
136
+
137
+ DocumentSnapshot document = task.getResult();
138
+
139
+ if (document.exists()) {
140
+
141
+ data[0] = document.get(field);
142
+
143
+ } else {
144
+
145
+ data[0] = "no_data";
146
+
147
+ }
148
+
149
+ } else {
150
+
151
+ data[0] = "failure";
152
+
153
+ }
154
+
155
+ }
156
+
157
+ });
158
+
159
+ if (data[0] != null) {
160
+
161
+ str[0] = data[0].toString();
162
+
163
+ } else {
164
+
165
+ str[0] = "NULL";
166
+
167
+ }
168
+
169
+ text_view.setText(str[0]);
170
+
171
+ }
172
+
69
173
  ```
70
174
 
71
175