Мне нужно разобрать учетную запись. Я получил данные из разбора, но я не могу добавить его в ArrayList или ListView.
Как добавить данные из parse в Android ListView
Мне удалось получить данные в String, но я не могу добавить их в представление списка.
Вот мой код:
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;
}
}
}
Во время выполнения имена выходных отображаются в тосте, но не добавляя список view.Thank вы.
вызов 'adapter.notifyDataSetChanged()' после 'for' цикла в' сделано() '. Вам нужно будет объявить «адаптер» как член класса, например, «arrayList». И вы должны переместить 'setLisData();' call в конец 'onCreate()'. –
Большое спасибо за ваш отзыв –
Брат не работает, просьба дать предложения –