【发布时间】:2018-01-02 21:41:54
【问题描述】:
联系人片段
ListView usersList;
TextView noUsersText;
ArrayList<String> al = new ArrayList<>();
int totalUsers = 0;
ProgressDialog mProgressDialogue;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_contacts, container, false);
usersList = (ListView)rootView.findViewById(R.id.usersList);
noUsersText = (TextView)rootView.findViewById(R.id.noUsersText);
mProgressDialogue = new ProgressDialog(getActivity());
mProgressDialogue.setMessage("Loading...");
mProgressDialogue.show();
String url = "https://messageplus-cd647.firebaseio.com/Users.json";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
@Override
public void onResponse(String s) {
doOnSuccess(s);
}
},new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println("" + volleyError);
}
});
RequestQueue rQueue = Volley.newRequestQueue(getActivity());
rQueue.add(request);
usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
UserDetails.chatWith = al.get(position);
Intent intent = new Intent(getActivity(), Chat.class);
startActivity(intent);
}
});
return rootView;
}
doOnSuccess 方法
public void doOnSuccess(String s){
try {
JSONObject obj = new JSONObject(s);
Iterator i = obj.keys();
String key = "";
while(i.hasNext()){
key = i.next().toString();
if(!key.equals(UserDetails.phonenumber)) {
al.add(key);
}
totalUsers++;
}
} catch (JSONException e) {
e.printStackTrace();
}
if(totalUsers <=1){
noUsersText.setVisibility(View.VISIBLE);
usersList.setVisibility(View.GONE);
}
else{
noUsersText.setVisibility(View.GONE);
usersList.setVisibility(View.VISIBLE);
usersList.setAdapter(new ArrayAdapter<String>(getActivity().getApplicationContext(),
android.R.layout.simple_list_item_1 , al));
}
mProgressDialogue.dismiss();
}
} 我的数据库结构 - http://ibb.co/eMGhWb 我只想显示用户名。我如何做到这一点。 使用当前代码,当我打开片段时,它只是说“正在加载......”并且没有加载任何东西......我是否必须对导出 json 文件或任何东西做任何事情?请帮助我还是个初学者
【问题讨论】:
标签: android database firebase firebase-realtime-database fetch