2014-11-08 20 views
8

Tôi đã tạo một ví dụ RecyclerView rất cơ bản.Thanh cuộn RecyclerView nhảy lên đầu trang sau mục đầu tiên

Layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MyActivity"> 

    <android.support.v7.widget.RecyclerView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scrollbars="vertical"/> 

</RelativeLayout> 

Hoạt động:

public class MyActivity extends Activity { 

    RecyclerView mRecyclerView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 

     mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView); 
     mRecyclerView.setAdapter(new TestAdapter()); 
     mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); 
    } 

    public static class TestAdapter extends RecyclerView.Adapter<TestAdapter.ViewHolder> { 
     @Override 
     public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { 
      View view = LayoutInflater.from(viewGroup.getContext()).inflate(android.R.layout.simple_list_item_1, viewGroup, false); 
      return new ViewHolder(view); 
     } 

     @Override 
     public void onBindViewHolder(ViewHolder viewHolder, int i) { 
      viewHolder.tv.setText("Row " + (i + 1)); 
     } 

     @Override 
     public int getItemCount() { 
      return 30; 
     } 

     public static class ViewHolder extends RecyclerView.ViewHolder { 

      TextView tv; 

      public ViewHolder(View itemView) { 
       super(itemView); 
       tv = (TextView) itemView.findViewById(android.R.id.text1); 
      } 
     } 
    } 
} 

Bây giờ khi tôi di chuyển vượt ra ngoài mục đầu tiên, các thanh cuộn nhảy trở lại phía trên và sau đó tiếp tục bình thường. Vấn đề thứ hai là khi tôi cuộn xuống phía dưới, thanh cuộn dừng lại sớm. Đây có phải là lỗi trong lib hỗ trợ hoặc lỗi của riêng tôi không?

+0

Có cùng sự cố. – EyesClear

+0

Dường như đây là lỗi: https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=scrollbar&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort= & id = 78545 – Kuno

+0

Hãy thử sử dụng thư viện rec7erview v7 https://developer.android.com/tools/support-library/features.html#v7 và xem bạn có gặp lỗi tương tự không. Xem xét rằng đây không phải là phiên bản cuối cùng và Nhóm Android cho biết có một số điều mà họ vẫn phải khắc phục. – vovahost

Trả lời

4

Như đã nêu here, lỗi này đã được sửa trong phiên bản mới của thư viện hỗ trợ v21.0.2.

2

Đối với tôi sự cố đã xảy ra vì chiều cao lượt xem của mục danh sách của tôi được đặt thành wrap_content. Thay đổi nó thành match_parent đã sửa nó cho tôi.

Các vấn đề liên quan