我想从用户表中检索所有数据,并在用户插入时在listView中显示它。为此,我在主活动中使用ListFragment,我还创建了用户类定义的getter和setter函数,因为它在parse.com推荐 问题是当我运行我的应用程序它不显示任何数据既不会给我任何错误。无法从用户表中检索数据parse.com
这里是我的用户类代码。我的片段
@ParseClassName("User")
public class User extends ParseObject {
public User(){}
public String getUsername(){
return getString("username");
}
public void setUsername(String username){
put("username",username);
}
public String getLatitude(){
return getString("Latitude");
}
public void setLatitude(String latitude){
put("Latitude",latitude);
}
public String getLongitude(){
return getString("Longitude");
}
public void setLongitude(String longitude){
put("Longitude",longitude);
}
public void setBloodType(String bloodType){put("Bloodtype",bloodType);}
public String getBloodType(){return getString("Bloodtpye");}
@Override
public String toString() {
return getString("username") + "\n" + getString("Longitude") + "\n" + getString("Latitude")+ "\n"+getString("Bloodtype");
}
}
下面的代码
public class Fragment extends ListFragment {
List<User> user1 = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_layout,container,false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ParseQuery<User> query = new ParseQuery<User>("User");
query.findInBackground(new FindCallback<User>() {
@Override
public void done(List<User> list, ParseException e) {
if(e !=null){
Toast.makeText(getActivity(),"Error"+e,Toast.LENGTH_SHORT).show();
}
else {
for (User user : list){
User newUser = new User();
newUser.setUsername(user.getUsername());
newUser.setLatitude(user.getLatitude());
newUser.setLongitude(user.getLongitude());
newUser.setBloodType(user.getBloodType());
user1.add(newUser);
}
ArrayAdapter<User> adapter = new ArrayAdapter<User>(getActivity(),android.R.layout.simple_list_item_1,user1);
setListAdapter(adapter);
}
}
});
}
}
帮助我
好吧,我打我的周围的代码和我改变查询的代码,现在它给了我一些结果。检查这个截图
查询更新的代码是在这里
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> list, ParseException e) {
if(e==null){
for (ParseUser user :list){
ParseUser newUser = new ParseUser();
newUser.getString(user.getString("username"));
newUser.getString(user.getString("Latitude"));
newUser.getString(user.getString("Longitude"));
newUser.getString(user.getString("Bloodtype"));
newUser.getString(user.getString("Mobile"));
user1.add(newUser);
}
ArrayAdapter<ParseUser> adapter = new ArrayAdapter<ParseUser>(getActivity(),android.R.layout.simple_list_item_1,user1);
setListAdapter(adapter);
}
}
});
请发布错误 –
它不会给出任何错误 –
你能告诉我,如果这是正确的方式来检索用户表中的数据吗? –