Android recyclerView не загружается - PullRequest
0 голосов
/ 17 мая 2019

RecyclelerView загружается только когда я отправляю сообщение в мессенджере. Когда я запускаю приложение, recyclerView не появляется. В следующем коде я получаю код для вставки в мой адаптер.

query1.getFirstInBackground(new GetCallback<ParseObject>() {
        @Override
        public void done(ParseObject object, ParseException e) {
            if (e == null) {
                description.setText(object.getString("Description"));
                schedule.setText(object.getString("Schedule"));
                adress.setText(object.getString("Adress"));
                JSONArray array = object.getJSONArray("Classes");
                for (int i = 0; i < array.length(); i++) {

                    try {
                        JSONObject jsonObject = array.getJSONObject(i);

                        Classes data = new Classes(jsonObject.getString("Aula"), jsonObject.getString("Horario"), jsonObject.getString("Preço"));

                        data_list.add(data);
                    } catch (JSONException e1) {

                    }

                }

            } else {
                Log.i("Gym", "Error " + e.getMessage());

            }
        }

Это мой адаптер: Я использую ParseServer, но это не работает ...

public DataAdapter(Context context, List<Classes> classes){
    this.context=context;
    this.classes= classes;

}



@Override
public ViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_row,parent,false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

    holder.aula.setText(classes.get(position).getAula());
    holder.preco.setText(classes.get(position).getPreco());
    holder.horario.setText(classes.get(position).getHorario());
}

@Override
public int getItemCount() {
    return classes.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {
    private TextView aula;
    private TextView preco;
    private TextView horario;
    public ViewHolder(View itemView) {
        super(itemView);
        aula = (TextView)itemView.findViewById(R.id.aula);
        preco = (TextView) itemView.findViewById(R.id.preço);
        horario= (TextView) itemView.findViewById(R.id.horario);
    }
}

Может кто-нибудь, пожалуйста, помогите мне?

1 Ответ

0 голосов
/ 17 мая 2019

решаемые

Я пропустил уведомление DataChanged в адаптере.

query1.getFirstInBackground(new GetCallback<ParseObject>() {
    @Override
    public void done(ParseObject object, ParseException e) {
        if (e == null) {
            description.setText(object.getString("Description"));
            schedule.setText(object.getString("Schedule"));
            adress.setText(object.getString("Adress"));
            JSONArray array = object.getJSONArray("Classes");
            for (int i = 0; i < array.length(); i++) {

                try {
                    JSONObject jsonObject = array.getJSONObject(i);

                    Classes data = new Classes(jsonObject.getString("Aula"), jsonObject.getString("Horario"), jsonObject.getString("Preço"));

                    data_list.add(data);
                    adapter.notifyDataSetChanged(); //I added this

                } catch (JSONException e1) {

                }

            }

        } else {
            Log.i("Gym", "Error " + e.getMessage());

        }
    }
...