마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터를 전부 뿌려줘야 되는데 0행만 화면에 표시됩니다.

0 추천

현재  리사이클러뷰로 화면에 뿌려주는 코드를 짰는데

        @Override
        protected void onPostExecute(Void result) {
            //ArraList를 인자로 해서 어답터와 연결한다.
            MyAdapter myAdapter = new MyAdapter(list);
            RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
            recyclerView.setLayoutManager(layoutManager);
            recyclerView.setAdapter(myAdapter);

            progressDialog.dismiss();
        }

 

위 코드에서 list에는 모든 데이터값이 100여개 정도 들어가있는걸 확인했습니다.

 

이걸 화면에 쭉 뿌려줘야 되는데 막상 보면

list의 0번째 데이터 1줄만 노출되고 나머지가 노출이 안되고 있는데요

 

Myadapter 코드는

 

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

    //데이터 배열 선언
    private ArrayList<ItemObject> mList;

    public  class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tv_assetNumber, tv_itemNumber, tv_phoneNumber;

        public ViewHolder(View itemView) {
            super(itemView);

            tv_assetNumber = (TextView) itemView.findViewById(R.id.tv_assetNumber);
            tv_itemNumber = (TextView) itemView.findViewById(R.id.tv_itemNumber);
            tv_phoneNumber = (TextView) itemView.findViewById(R.id.tv_phoneNumber);
        }
    }

    //생성자
    public MyAdapter(ArrayList<ItemObject> list) {
        this.mList = list;
    }

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

    @Override
    public void onBindViewHolder(@NonNull MyAdapter.ViewHolder holder, int position) {
        holder.tv_assetNumber.setText(String.valueOf(mList.get(position).getAssetNumber()));
        holder.tv_itemNumber.setText(String.valueOf(mList.get(position).getItemNumber()));
        holder.tv_phoneNumber.setText(String.valueOf(mList.get(position).getPhoneName()));

    }

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

이렇게 되어있습니다.

어댑터에서 onBindViewHolder 포문이 없어서 그런건가요?

브루스웨인 (8,580 포인트) 님이 2020년 2월 28일 질문

1개의 답변

0 추천
자문 자답

 

보니까 화면 여백이 화면 전체만한 크기였네요. 스크롤하니까 다음 데이터가 나옵니다;;

 

왜케 여백이 크게 있는지 찾아아겠네요;;
브루스웨인 (8,580 포인트) 님이 2020년 2월 29일 답변
...