[英]android how to add ProgressBar to listView fetching data from parse?
[英]How to add data from parse to an Android ListView
我必須解析一個帳戶。 我從解析中獲取了數據,但是無法將其添加到ArrayList或ListView中。
我設法將數據放入字符串中,但無法將其添加到列表視圖中。
這是我的代碼:
public class student_login extends Activity implements View.OnClickListener {
private TextView mTextView;
ArrayList arrayList;;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_login);
arrayList = new ArrayList();
setLisData();
ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.activity_list_view, arrayList);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adapter);
Button sub=(Button)findViewById(R.id.button2);
sub.setOnClickListener(this);
}
private void setLisData() {
ParseUser currentUser = ParseUser.getCurrentUser();
String curser = currentUser.getUsername().toString();
final String sc = currentUser.getString("school");
Toast.makeText(getApplicationContext(), "Your id is " + sc, Toast.LENGTH_SHORT).show();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Staff");
query.whereEqualTo("school", sc);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
for (ParseObject parseObject : objects) {
String name = parseObject.getString("Name");
arrayList.add(name);
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show();
}
}
});
}
public void onClick(View v) {
switch (v.getId()){
case R.id.button2:
// r =movie.getRatingStar();
ParseUser.logOut();
ParseUser currentUser = ParseUser.getCurrentUser(); // should be null but isn't...
invalidateOptionsMenu();
Toast.makeText(getApplicationContext(), "Disconnected...", Toast.LENGTH_LONG).show();
Intent intent = new Intent(this,Login.class);
startActivityForResult(intent,0);
finish();
break;
}
}
}
在運行時,輸出名稱顯示在Toast中,但不添加列表視圖。謝謝。
在代碼中進行以下更改,效果很好
ArrayAdapter adapter
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_login);
arrayList = new ArrayList();
adapter = new ArrayAdapter<String>(this, R.layout.activity_list_view, arrayList);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adapter);
Button sub=(Button)findViewById(R.id.button2);
sub.setOnClickListener(this);
setLisData();
}
private void setLisData() {
ParseUser currentUser = ParseUser.getCurrentUser();
String curser = currentUser.getUsername().toString();
final String sc = currentUser.getString("school");
Toast.makeText(getApplicationContext(), "Your id is " + sc, Toast.LENGTH_SHORT).show();
if(arrayList.size()>0){
arrayList.clear();
}
ParseQuery<ParseObject> query = ParseQuery.getQuery("Staff");
query.whereEqualTo("school", sc);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
for (ParseObject parseObject : objects) {
String name = parseObject.getString("Name");
arrayList.add(name);
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show();
}
if(arrayList.size()>0 && adapter != null){
adapter.notifyDataSetChanged();
}
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.