0
firebase에서 데이터를 listview로 검색하려고합니다. 그러나이 코드는 빈 화면을 반환합니다. 내 데이터베이스에는 각각 데이터 필드가 3 개의 자식이 있습니다.Firebase 데이터 검색 빈 화면을 반환합니다.
나는 모두 비어있는 화면입니다.
내가이 사람을하시기 바랍니다 해결하는 방법에 대한 아무 생각이 없습니다 : 코드는 여기에 콘텐츠보기를 설정하면 페이지 전체가 비어있는 경우,이 일어날 수
public class Business extends AppCompatActivity {
private ListView business;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_business);
}
public ArrayList<String> arr;
public ArrayAdapter adapter;
@Override
protected void onStart() {
super.onStart();
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
arr = new ArrayList<>();
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
map2list((Map) dataSnapshot.getValue());
//formats the datasnapshot entries to strings
adapter.notifyDataSetChanged();
//makes the ListView realtime
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
System.out.println(databaseError.toException());
// ...
}
};
mDatabase.addValueEventListener((com.google.firebase.database.ValueEventListener) listener);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, arr);
ListView listView = (ListView) findViewById(R.id.business);
listView.setAdapter(adapter);
}
public void map2list(Map<String,Long> map){
arr.clear();
for (Map.Entry<String, Long> entry : map.entrySet()) {
Long key = Long.parseLong(entry.getKey());
String d = DateFormat.getDateTimeInstance().format(key);
Long value = entry.getValue();
arr.add(d + ": " + value);
}
}
}
이 문제를 해결하는 방법을 모르겠습니까? 당신은 근본적으로 다른 사람들에게 당신을 대신하여 이것을 디버깅하도록 요청했습니다. 부품을 격리하고 원하는 결과를 얻지 못하는 것을 확인하면 대답을 찾을 수 있습니다. a) Firebase를 그림에서 제거하면 작동합니까? b) 그림에서 UI를 제거하면 작동합니까? c) 직접 URL을 쿼리하고 결과를 얻을 수 있습니까? 각 단계에서 결과를 기록하여 코드 실행 위치를 확인할 수 있습니까? 또한 FirebaseDatabase.getInstance(). setLogLevel (Logger.Level.DEBUG);을 사용하여 디버그 로깅을 켜는 것을 고려해보십시오. – Kato