2017-12-10 2 views
0

활동에 카드보기에서 일부 블로그 게시물 데이터가 표시되는 앱을 만들고 있습니다. 모든 것이 잘 작동 할 때까지 보여줄 블로그 게시물이 9 개 밖에 없을 때까지 10 번째 게시물이 추가되면 카드보기는 첫 번째 카드보기 항목과 마지막 카드보기 항목 모두에서 10 개의 게시물을 표시하는 것처럼 엉망이됩니다. 아래 Recyclerview Cardview을 채우기 위해 코드는CardView는 9 개로 제한됩니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_transaction); 
    LinearLayoutManager lm = new LinearLayoutManager(this); 
    lm.setReverseLayout(true); 
    lm.setStackFromEnd(true); 
    recyclerView = findViewById(R.id.blog_list); 
    recyclerView.setHasFixedSize(true); 
    recyclerView.setLayoutManager(lm); 
    mref = FirebaseDatabase.getInstance().getReference().child("IHIAUPDATES"); 

} 

public static class bloglistviewholder extends RecyclerView.ViewHolder { 
    static View mview; 
    public bloglistviewholder(View itemView) { 
     super(itemView); 
     mview = itemView; 
    } 
    public static void setTitle(String title){ 
     TextView post_title = mview.findViewById(R.id.blog_title); 
     post_title.setText(title); 
    } 
    public static void setPosteon(String postedon){ 
     TextView post_title = mview.findViewById(R.id.blog_postedon); 
     post_title.setText(postedon); 
    } 
    public static void setPostby(String postedby){ 
     TextView post_title = mview.findViewById(R.id.blog_postedby); 
     post_title.setText(postedby); 
    } 

    public static void setPost(String post){ 
     TextView post_content = mview.findViewById(R.id.blog_post); 
     post_content.setText(post); 
    } 
    public static void setImageurl(Context ctx, String imageurl){ 
     ImageView post_image = mview.findViewById(R.id.blog_pic); 
     Picasso.with(ctx).load(imageurl).into(post_image) 
     ; 
    } 


} 

@Override 
protected void onStart() { 
    super.onStart(); 

    FirebaseRecyclerAdapter<blog_list,bloglistviewholder> rAdapter = new FirebaseRecyclerAdapter<blog_list, bloglistviewholder>(

      blog_list.class, 
      R.layout.blog_row, 
      bloglistviewholder.class, 
      mref.orderByKey() 
    ) { 
     @Override 
     protected void populateViewHolder(bloglistviewholder viewHolder, blog_list model, int position) { 
      bloglistviewholder.setTitle(model.getTitle()); 
      bloglistviewholder.setPost(model.getPost()); 
      bloglistviewholder.setPostby(model.getPostedby()); 
      bloglistviewholder.setPosteon(model.getPostedon()); 
      bloglistviewholder.setImageurl(getApplicationContext(),model.getImageurl()); 
     } 
    }; 
    recyclerView.setAdapter(rAdapter); 
} 

XML을의 blog_row

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical"> 

<android.support.v7.widget.CardView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="8dp"> 

     <ImageView 
      android:id="@+id/blog_pic" 
      android:layout_width="120dp" 
      android:layout_height="90dp" 
      android:padding="4dp" /> 

     <TextView 
      android:id="@+id/blog_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_toRightOf="@id/blog_pic" 
      android:text="Apple MacBook Air Core i5 5th Gen - (8 GB/128 GB SSD/Mac OS Sierra)" 
      android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" 
      android:textColor="#000000" /> 

     <TextView 
      android:id="@+id/blog_postedon" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/blog_title" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="5dp" 
      android:layout_toRightOf="@id/blog_pic" 
      android:text="13.3 Inch, 256 GB" 
      android:textAppearance="@style/Base.TextAppearance.AppCompat.Small" /> 

     <TextView 
      android:id="@+id/blog_postedby" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/blog_postedon" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="5dp" 
      android:layout_toRightOf="@id/blog_pic" 
      android:background="@color/colorPrimary" 
      android:paddingLeft="15dp" 
      android:paddingRight="15dp" 
      android:text="4.7" 
      android:textAppearance="@style/Base.TextAppearance.AppCompat.Small.Inverse" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/blog_post" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/blog_postedby" 
      android:layout_marginLeft="5dp" 
      android:layout_marginTop="5dp" 
      android:layout_toRightOf="@id/blog_pic" 
      android:text="INR 56990" 
      android:textAppearance="@style/TextAppearance.AppCompat" /> 

    </RelativeLayout> 

</android.support.v7.widget.CardView> 

</LinearLayout> 

무엇이 잘못 될 수 있을까?
내가 잘못 했나요?

답변

0

무엇이 잘못 될 수 있습니까?

데이터를 데이터베이스에 삽입하면 동일한 첫 번째 항목이 열 번째 항목으로 표시되는 논리 문제가 있습니다. 그러나 코드를 표시하지 않았으므로 그 이상을 추측하는 것은 불가능합니다.

코드를 디버깅하기 위해 수행 한 작업은 무엇입니까?

내가 잘못 했나요?

글쎄, 당신은 버그가 ... 그래서 ... 네? : P

관련 문제