คำถามติดแท็ก android-recyclerview

วิดเจ็ต RecyclerView เป็น ListView และ GridView เวอร์ชันขั้นสูงและยืดหยุ่นขึ้น

29
RecyclerView และ java.lang.IndexOutOfBoundsException: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งอะแดปเตอร์มุมมองที่ยึดไม่ถูกต้อง ViewHolder ในอุปกรณ์ Samsung
ฉันมีมุมมองรีไซเคิลที่ใช้งานได้ดีกับอุปกรณ์ทั้งหมดยกเว้น Samsung ที่ Samsung ฉันเข้าใจแล้ว java.lang.IndexOutOfBoundsException: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งของการ์ดเชื่อมต่อ view viewHolder ไม่ถูกต้อง เมื่อฉันกลับไปที่ส่วนที่มีมุมมองรีไซเคิลจากกิจกรรมอื่น รหัสอะแดปเตอร์: public class FeedRecyclerAdapter extends RecyclerView.Adapter<FeedRecyclerAdapter.MovieViewHolder> { public static final String getUserPhoto = APIConstants.BASE_URL + APIConstants.PICTURE_PATH_SMALL; Movie[] mMovies = null; Context mContext = null; Activity mActivity = null; LinearLayoutManager mManager = null; private Bus uiBus = null; int …

28
การเว้นวรรคคอลัมน์ Android Recyclerview GridLayoutManager
คุณจะตั้งระยะห่างคอลัมน์ด้วย RecyclerView โดยใช้ GridLayoutManager ได้อย่างไร การตั้งค่าระยะขอบ / ช่องว่างภายในเค้าโครงของฉันไม่มีผลใด ๆ

30
recyclerview ไม่มีอะแดปเตอร์ต่อพ่วง ข้ามเค้าโครง
เพียงแค่นำมาใช้ในรหัสของฉันเปลี่ยนRecyclerViewListView ทุกอย่างทำงานได้ดี ข้อมูลจะปรากฏขึ้น แต่ข้อความข้อผิดพลาดกำลังถูกบันทึก: 15:25:53.476 E/RecyclerView: No adapter attached; skipping layout 15:25:53.655 E/RecyclerView: No adapter attached; skipping layout สำหรับรหัสต่อไปนี้: ArtistArrayAdapter adapter = new ArtistArrayAdapter(this, artists); recyclerView = (RecyclerView) findViewById(R.id.cardList); recyclerView.setHasFixedSize(true); recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(this)); RecyclerViewที่คุณสามารถดูผมได้แนบอะแดปเตอร์สำหรับ เหตุใดฉันจึงได้รับข้อผิดพลาดนี้อยู่เรื่อย ๆ ฉันได้อ่านคำถามอื่น ๆ ที่เกี่ยวข้องกับปัญหาเดียวกัน แต่ไม่มีใครช่วย

11
วิธีสร้างรายการ RecyclerView ให้เคลื่อนไหวเมื่อปรากฏ
ฉันจะทำให้รายการ RecyclerView เคลื่อนไหวมีการแสดงผลได้อย่างไร แอนิเมชั่นรายการเริ่มต้นจะเคลื่อนไหวเมื่อมีการเพิ่มหรือลบข้อมูลหลังจากตั้งค่าข้อมูลผู้รีไซเคิลแล้วเท่านั้น ฉันเป็นแอปพลิเคชั่นที่กำลังพัฒนาใหม่และไม่มีเงื่อนงำที่จะเริ่ม ความคิดใด ๆ วิธีการบรรลุเป้าหมายนี้?

6
เราควรใช้ RecyclerView เพื่อแทนที่ ListView หรือไม่
เอกสาร Android พูดว่า: วิดเจ็ต RecyclerView เป็น ListView เวอร์ชันขั้นสูงและยืดหยุ่นมากขึ้น วิดเจ็ตนี้เป็นที่เก็บสำหรับการแสดงชุดข้อมูลขนาดใหญ่ที่สามารถเลื่อนได้อย่างมีประสิทธิภาพมากโดยรักษาจำนวนการดู จำกัด ใช้วิดเจ็ต RecyclerView เมื่อคุณมีการเก็บรวบรวมข้อมูลที่องค์ประกอบเปลี่ยนแปลงที่รันไทม์ตามการกระทำของผู้ใช้หรือเหตุการณ์เครือข่าย ที่จริงแล้วListViewสามารถทำทุกอย่างได้ถ้าประสิทธิภาพไม่สำคัญและเราพบปัญหามากมายเมื่อเราใช้RecyclerViewเพื่อแทนที่ListView: ไม่มี onItemClickListener () สำหรับการเลือกรายการ - วิธีแก้ไข ไม่มีตัวคั่นระหว่างรายการ - วิธีแก้ไข ไม่มีตัวเลือกการซ้อนทับในตัวไม่มีการตอบกลับด้วยภาพเมื่อคุณคลิกที่รายการ - วิธีแก้ปัญหา ไม่มีaddHeaderViewสำหรับส่วนหัวของรายการ - วิธีแก้ไข อาจมีปัญหาเพิ่มเติม ... ดังนั้นเมื่อเราใช้RecyclerViewเพื่อแทนที่เราจะต้องทำมากเป็นพิเศษการเข้ารหัสในการเข้าถึงผลเช่นเดียวกับ ListViewListView คำถาม: มันคุ้มค่าที่เราจะแทนที่ListViewด้วยRecyclerViewทั้งหมดหรือไม่ ถ้าไม่ใช่ในกรณีใดเราควรใช้ดีกว่าRecyclerViewแทนListViewและในทางกลับกัน

3
ตัวอย่างตาราง Android อย่างง่ายโดยใช้ RecyclerView พร้อม GridLayoutManager (เช่น GridView เก่า)
ฉันรู้ว่าRecyclerViewได้เข้ามาแทนที่การทำงานของเดิมและListView ฉันกำลังมองหาตัวอย่างที่พื้นฐานมากที่แสดงให้เห็นถึงการติดตั้งน้อยที่สุดโดยใช้ตารางGridView RecyclerViewฉันไม่ได้กำลังมองหาคำอธิบายสไตล์การกวดวิชาที่ยาวนานเป็นเพียงตัวอย่างเล็กน้อย ฉันนึกภาพกริดที่ง่ายที่สุดที่เลียนแบบ GridView แบบเก่าจะประกอบด้วยคุณสมบัติดังต่อไปนี้: หลายเซลล์ต่อแถว มุมมองเดียวในแต่ละเซลล์ ตอบสนองต่อกิจกรรมคลิก

22
สามารถเพิ่มบรรทัดตัวแบ่งใน Android RecyclerView ได้อย่างไร
ฉันกำลังพัฒนาแอพพลิเคชั่น Android ที่ฉันใช้งานRecyclerViewอยู่ ฉันจำเป็นต้องเพิ่มdividerRecyclerViewใน ฉันพยายามเพิ่ม - recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); ด้านล่างคือรหัส xml ของฉัน - <android.support.v7.widget.RecyclerView android:id="@+id/drawerList" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" />


15
เลื่อน RecyclerView เพื่อแสดงรายการที่เลือกไว้ด้านบน
ฉันกำลังมองหาวิธีการเลื่อนRecyclerViewเพื่อแสดงรายการที่เลือกไว้ด้านบน ในแบบที่ListViewฉันสามารถทำได้โดยใช้scrollTo(x,y)และรับส่วนบนสุดขององค์ประกอบที่ต้องมีศูนย์กลาง สิ่งที่ต้องการ: @Override public void onItemClick(View v, int pos){ mylistView.scrollTo(0, v.getTop()); } ปัญหาคือว่าRecyclerViewส่งกลับข้อผิดพลาดเมื่อใช้มันเป็นscrollToวิธีการพูด RecyclerView ไม่รองรับการเลื่อนไปยังตำแหน่งที่แน่นอน ฉันจะเลื่อน a RecyclerViewเพื่อวางรายการที่เลือกไว้ที่ด้านบนของมุมมองได้อย่างไร

23
วิธีใช้ RecyclerView ภายใน NestedScrollView
วิธีการใช้งานRecyclerViewภายในNestedScrollView? RecyclerViewไม่สามารถมองเห็นเนื้อหาหลังจากตั้งค่าอะแดปเตอร์ UPDATEรหัสรูปแบบการปรับปรุง <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/keyline_1"> </RelativeLayout> <View android:id="@+id/separator" android:layout_width="match_parent" android:layout_height="1dp" android:background="#e5e5e5" /> <android.support.v7.widget.RecyclerView android:id="@+id/conversation" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> </android.support.v4.widget.NestedScrollView>

18
ฉันจะทำให้ WRAP_CONTENT ทำงานบน RecyclerView ได้อย่างไร
ฉันมีDialogFragmentที่มีRecyclerView(รายการการ์ด) ภายในนี้RecyclerViewมีหนึ่งหรือมากกว่าCardViewsนั้นที่สามารถมีความสูงใด ๆ ฉันต้องการให้DialogFragmentความสูงที่ถูกต้องตามCardViewsที่มีอยู่ภายใน ปกตินี้จะง่ายผมจะตั้งwrap_contentบนRecyclerViewเช่นนี้ <android.support.v7.widget.RecyclerView ... xmlns:tools="http://schemas.android.com/tools" android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:scrollbars="vertical" > </android.support.v7.widget.RecyclerView> เพราะฉันใช้สิ่งRecyclerViewนี้ไม่ทำงานดู: https://issuetracker.google.com/issues/37001674 และ ความสูงของมุมมอง Recycler ที่ซ้อนกันไม่ได้ห่อเนื้อหา ในหน้าเหล่านี้ทั้งสองคนแนะนำให้ขยายLinearLayoutManagerและแทนที่onMeasure() ฉันแรกใช้LayoutManagerที่มีคนให้ในลิงค์แรก: public static class WrappingLayoutManager extends LinearLayoutManager { public WrappingLayoutManager(Context context) { super(context); } private int[] mMeasuredDimension = new int[2]; @Override public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int …

13
Recyclerview ภายใน ScrollView ไม่เลื่อนอย่างราบรื่น
สำหรับ app ของฉันฉันใช้RecyclerViewภายในScrollViewที่RecyclerViewมีความสูงขึ้นอยู่กับเนื้อหาของการใช้ห้องสมุดนี้ เลื่อนจะทำงาน RecyclerViewแต่ก็ไม่ได้ทำงานได้อย่างราบรื่นเมื่อฉันเลื่อนมากกว่า เมื่อฉันเลื่อนไปที่ScrollViewตัวเองมันจะเลื่อนอย่างราบรื่น รหัสที่ฉันใช้เพื่อกำหนดRecyclerView: LinearLayoutManager friendsLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext(), android.support.v7.widget.LinearLayoutManager.VERTICAL, false); mFriendsListView.setLayoutManager(friendsLayoutManager); mFriendsListView.addItemDecoration(new DividerItemDecoration(getActivity().getApplicationContext(), null)); RecyclerViewในScrollView: <android.support.v7.widget.RecyclerView android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:id="@+id/friendsList" android:layout_width="match_parent" android:layout_height="wrap_content" />

15
ความสูงของมุมมอง Recycler ที่ซ้อนกันไม่ได้ห่อเนื้อหา
ฉันมีแอปพลิเคชั่นที่จัดการคอลเล็กชันหนังสือ (เช่นเพลย์ลิสต์) ฉันต้องการแสดงรายการคอลเลกชันที่มีแนวตั้ง RecyclerView และในแต่ละแถวรายการของหนังสือในแนวนอน RecyclerView เมื่อฉันตั้งค่า layout_height ของ RecyclerView แนวนอนด้านในเป็น 300dp จะแสดงอย่างถูกต้อง แต่เมื่อฉันตั้งค่าเป็น wrap_content จะไม่แสดงอะไรเลย ฉันต้องใช้ wrap_content เพราะฉันต้องการที่จะสามารถเปลี่ยนการจัดการรูปแบบโดยทางโปรแกรมเพื่อสลับระหว่างการแสดงผลในแนวตั้งและแนวนอน คุณรู้หรือไม่ว่าฉันทำอะไรผิด เลย์เอาต์ของฉัน: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white"> <com.twibit.ui.view.CustomSwipeToRefreshLayout android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/shelf_collection_listview" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="10dp"/> </LinearLayout> </com.twibit.ui.view.CustomSwipeToRefreshLayout> </LinearLayout> เค้าโครงองค์ประกอบคอลเลกชัน: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" …

11
ตัวอย่างง่ายๆของ Android RecyclerView
ฉันทำรายการสิ่งของสองสามครั้งโดยใช้ Android RecyclerViewแต่เป็นกระบวนการที่ค่อนข้างซับซ้อน ผ่านหนึ่งในบทเรียนออนไลน์มากมาย ( นี่คือสิ่งนี้และสิ่งนี้ดี) แต่ฉันกำลังมองหาตัวอย่างกระดูกเปลือยที่ฉันสามารถคัดลอกและวางเพื่อเริ่มใช้งานได้อย่างรวดเร็ว จำเป็นต้องใช้คุณสมบัติต่อไปนี้เท่านั้น: เค้าโครงแนวตั้ง TextView เดียวในแต่ละแถว ตอบสนองต่อการคลิกเหตุการณ์ เพราะฉันต้องการหลายต่อหลายครั้งในที่สุดฉันก็ตัดสินใจที่จะตอบคำถามด้านล่างนี้เพื่อใช้อ้างอิงและในอนาคต


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.