2014-10-19 19 views
11

Hi Tôi đang gặp một vấn đề với mới Android Lollipop RecyclerViewAndroid RecyclerView LayoutManager Exception

tiếp tục đâm với ngoại lệ sau:

Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference 

Full stack trace có thể tìm thấy ở đây

Các mã được sử dụng để bắt đầu RecyclerView là giống nhau chủ yếu giống như hướng dẫn, tuy nhiên vì một số lý do, điều này vẫn còn than phiền. Mọi sự trợ giúp sẽ rất được trân trọng.

Mã này có thể được truy cập tại địa chỉ: gist here và bố trí: this gist

Không ai trong số các views, hoặc objectsnull

+3

Khi recyclerview được thêm vào cây xem, nó phải có một trình quản lý bố trí trước khi nó được đặt ra. Với nhật ký lỗi, tại cuộc gọi đo thời gian đến, nó chưa có trình quản lý bố cục. Dấu vết ngăn xếp đầy đủ sẽ hiển thị vị trí của sự cố. – yigit

+0

Dấu vết ngăn xếp Có thể tìm thấy tại đây: http: /crashes.to/s/68cfe49fbd4. Nhưng như xa như tôi có thể thấy có hoàn toàn không có tham chiếu đến mã của tôi trong ngăn xếp dấu vết. –

+1

Hmm điều này thật thú vị. Tôi không thể thấy lý do trình quản lý bố cục bị thiếu. Nếu bạn có thể gửi một ứng dụng mẫu tái tạo vấn đề thông qua trình theo dõi lỗi công khai hoặc tại đây, tôi sẽ rất vui khi được xem xét. Btw, không nên liên quan đến vụ tai nạn này nhưng LinearLayoutManager không hỗ trợ nội dung gói. Ngoài ra, bạn không thể thiết lập nội dung bọc và cũng setHasFixedSize (true). – yigit

Trả lời

11

Thêm đoạn mã sau:

LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); 
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL); 
    recyclerView.setLayoutManager(layoutManager); 

Trước thêm bộ chuyển đổi :

recyclerView.setAdapter(adapter); 
2

Ở cấp Api android 22, nó sẽ không đưa ra lỗi. Thay vào đó, nó bỏ qua bố cục nếu không tìm thấy Bộ điều hợp.

Bằng cách hiển thị cảnh báo:

RecyclerView: Không có bộ chuyển đổi kèm theo; bỏ qua bố cục

Nhưng ứng dụng của bạn sẽ không bị lỗi và chạy, nhưng recyclerView không hiển thị.

+0

Tôi ghét thay đổi này, luôn mất 30 phút để tìm hiểu lý do tại sao RecyclerView đầu tiên trong dự án mới của tôi không hiển thị @ _ @ – ericn

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