Android recycleView显示一个emply列表

时间:2016-04-06 16:18:24

标签: android-recyclerview

我需要这方面的帮助。几天来一直在努力,但无法弄明白。 我有一个recycleView来显示名称列表,但它显示空列表,但我可以在控制台中打印列表。 这里是获取列表的代码

public List<BackendlessUser> userList = new ArrayList<BackendlessUser>();

 BackendlessDataQuery query = new BackendlessDataQuery();
    Backendless.Data.of( BackendlessUser.class ).find( query, new AsyncCallback<BackendlessCollection<BackendlessUser>>()

    {

        @Override

        public void handleResponse( BackendlessCollection<BackendlessUser> response )

        {
           userList = response.getCurrentPage();
            for( BackendlessUser user : userList ){
                Log.d( "USERS : ", user.getEmail() );
            }
            Log.d("USER LIST", String.valueOf( userList.size() ));

        }

        @Override
        public void handleFault(BackendlessFault backendlessFault) {

        }


    });

以及应该使列表适应视图的recyclerView适配器..

 private void setupRecyclerView(@NonNull RecyclerView recyclerView) {
    recyclerView.setAdapter(new SimpleItemRecyclerViewAdapter(userList));
}

public class SimpleItemRecyclerViewAdapter
        extends RecyclerView.Adapter<SimpleItemRecyclerViewAdapter.ViewHolder> {

    private final List<BackendlessUser> mValues;

    public SimpleItemRecyclerViewAdapter(List<BackendlessUser> items) {
        mValues = items;
    }

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

    @Override
    public void onBindViewHolder(final ViewHolder holder, int position) {
        holder.mItem = mValues.get(position);
        holder.mIdView.setText(mValues.get(position).getProperty("idno").toString());
        holder.mContentView.setText(mValues.get(position).getProperty("fname").toString());

        holder.mView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mTwoPane) {
                    Bundle arguments = new Bundle();
                    arguments.putString(ItemDetailFragment.ARG_ITEM_ID, holder.mItem.getProperty("idno").toString());
                    ItemDetailFragment fragment = new ItemDetailFragment();
                    fragment.setArguments(arguments);
                    getSupportFragmentManager().beginTransaction()
                            .replace(R.id.item_detail_container, fragment)
                            .commit();
                } else {
                    Context context = v.getContext();
                    Intent intent = new Intent(context, ItemDetailActivity.class);
                    intent.putExtra(ItemDetailFragment.ARG_ITEM_ID, holder.mItem.getProperty("idno").toString());

                    context.startActivity(intent);
                }
            }
        });
    }

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

    public class ViewHolder extends RecyclerView.ViewHolder {
        public final View mView;
        public final TextView mIdView;
        public final TextView mContentView;
        public BackendlessUser mItem;

        public ViewHolder(View view) {
            super(view);
            mView = view;
            mIdView = (TextView) view.findViewById(R.id.id);
            mContentView = (TextView) view.findViewById(R.id.content);
        }

        @Override
        public String toString() {
            return super.toString() + " '" + mContentView.getText() + "'";
        }
    }
}

0 个答案:

没有答案