1

세 개의 조각으로 구성된 뷰 페이지가 있습니다. 내 viewpager의 첫 페이지에는 데이터베이스의 데이터가 들어 있습니다. 어떻게하면 데이터가로드되기 바로 전에 첫 번째 페이지 만 진행률 막대를 구현할 수 있습니다. 내가 viewpager에 진행 막대를 넣으면내 뷰 페이지의 첫 번째 페이지에만있는 진행 표시 줄

사용자 정의 조각이 =>

public class HomeContentFragment extends Fragment { 
    public static ArrayList<ShishaBar> arrayList; 
    public static ContentAdapter adapter; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     RecyclerView recyclerView = (RecyclerView) inflater.inflate(
       R.layout.recycler_view, container, false); 
     adapter = new ContentAdapter(); 
     recyclerView.setAdapter(adapter); 
     recyclerView.setHasFixedSize(true); 
     recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 

     new BackgroundWorker().execute(); 
     return recyclerView; 
    } 

    public static class ViewHolder extends RecyclerView.ViewHolder { 
     public ImageView picture; 
     public TextView name; 
     public TextView description; 
     public ViewHolder(LayoutInflater inflater, ViewGroup parent) { 
      super(inflater.inflate(R.layout.item_card, parent, false)); 
      picture = (ImageView) itemView.findViewById(R.id.card_image); 
      name = (TextView) itemView.findViewById(R.id.card_title); 
      description = (TextView) itemView.findViewById(R.id.card_text); 
      itemView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Context ctx = v.getContext(); 
        Intent intent = new Intent(ctx, DetailActivity.class); 
        intent.putExtra(DetailActivity.EXTRA_POSITION, getAdapterPosition()); 
        ctx.startActivity(intent); 
       } 
      }); 
     } 
    } 

    public static class ContentAdapter extends RecyclerView.Adapter<ViewHolder> { 

     public ContentAdapter() { 
      arrayList = new ArrayList<>(); 
     } 

     @Override 
     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
      return new ViewHolder(LayoutInflater.from(parent.getContext()), parent); 
     } 

     @Override 
     public void onBindViewHolder(ViewHolder holder, int position) { 
      holder.picture.setImageBitmap(arrayList.get(position).getImage()); 
      holder.name.setText(arrayList.get(position).getName()); 
      holder.description.setText(arrayList.get(position).getStraat()+ " " + arrayList.get(position).getHuisnr()+ ", "+arrayList.get(position).getStad()); 
     } 

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


} 

, 모든 페이지가 진행 표시 줄을 얻을, 나는 첫 번째 페이지에서 원하는. 그리고 progress_bar를 my card_view의 xml에 넣으면 데이터가로드 될 때까지 진행률 막대가 표시되지 않습니다.

public void instantiateItem(...,int position){ 
    if(position == 0){ 
     /* inflate a view that contains the ProgressBar and process it */ 
    ... 
    } 
} 
다음 ViewPager의 어댑터

답변

1

는 같은 페이지의 인덱스를 확인