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

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

30
ทำไม RecyclerView ไม่มี onItemClickListener ()
ผมได้รับการสำรวจRecyclerViewและฉันรู้สึกประหลาดใจที่จะเห็นว่าไม่มีRecyclerViewonItemClickListener() ฉันมีสองคำถาม คำถามหลัก ฉันต้องการที่จะรู้ว่าทำไม Google ลบออกonItemClickListener()? มีปัญหาเรื่องประสิทธิภาพหรืออย่างอื่นหรือไม่ คำถามรอง ฉันแก้ไขปัญหาด้วยการเขียนonClickในRecyclerView.Adapter: public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener { public TextView txtViewTitle; public ImageView imgViewIcon; public ViewHolder(View itemLayoutView) { super(itemLayoutView); txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title); imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon); } @Override public void onClick(View v) { } } นี่โอเค / มีวิธีที่ดีกว่านี้ไหม?

30
วิธีเพิ่มตัวคั่นและช่องว่างระหว่างรายการใน RecyclerView
นี่คือตัวอย่างของวิธีที่สามารถทำได้ก่อนหน้านี้ในListViewชั้นเรียนโดยใช้พารามิเตอร์ตัวแบ่งและdividerHeight : <ListView android:id="@+id/activity_home_list_view" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@android:color/transparent" android:dividerHeight="8dp"/> อย่างไรก็ตามฉันไม่เห็นความเป็นไปได้ดังกล่าวในRecyclerViewชั้นเรียน <android.support.v7.widget.RecyclerView android:id="@+id/activity_home_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical"/> ในกรณีนี้การกำหนดระยะขอบและ / หรือเพิ่มมุมมองตัวแบ่งที่กำหนดเองลงในเลย์เอาต์ของรายการหรือไม่ก็เป็นวิธีที่ดีกว่าเพื่อให้บรรลุเป้าหมายของฉันหรือไม่

17
จะสร้าง RecyclerView ด้วยมุมมองหลายประเภทได้อย่างไร
จากhttps://developer.android.com/preview/material/ui-widgets.html เมื่อเราสร้างRecyclerView.Adapterเราจะต้องระบุViewHolderว่าจะผูกกับอะแดปเตอร์ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private String[] mDataset; public MyAdapter(String[] myDataset) { mDataset = myDataset; } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(TextView v) { super(v); mTextView = v; } } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = …

30
RecyclerView onClick
มีใครใช้วิธีRecyclerViewพบการตั้งค่าonClickListenerรายการในRecyclerView? ฉันคิดว่าการตั้งค่าผู้ฟังให้กับแต่ละเลย์เอาท์ของแต่ละรายการ แต่ดูเหมือนจะยุ่งยากมากเกินไปฉันแน่ใจว่ามีวิธีที่RecyclerViewจะฟังonClickเหตุการณ์ แต่ฉันคิดไม่ออกเลย

30
วิธีการใช้รายการที่ไม่สิ้นสุดด้วย RecyclerView
ผมอยากจะเปลี่ยนไปListView RecyclerViewฉันต้องการที่จะใช้onScrollของOnScrollListenerในRecyclerViewเพื่อตรวจสอบว่าผู้ใช้เลื่อนไปที่ส่วนท้ายของรายการ ฉันจะรู้ได้อย่างไรว่าผู้ใช้เลื่อนไปที่ส่วนท้ายของรายการเพื่อให้สามารถดึงข้อมูลใหม่จากบริการ REST ได้หรือไม่

13
วิธีสร้าง ListView ในแนวนอนด้วย RecyclerView
ฉันจำเป็นต้องใช้มุมมองแนวนอนในแอปพลิเคชัน Android ของฉัน ฉันทำการวิจัยเล็กน้อยและพบว่าฉันจะสร้าง ListView แนวนอนใน Android ได้อย่างไร และListView แนวนอนใน Android? อย่างไรก็ตามคำถามเหล่านี้ถูกถามก่อนที่จะปล่อย Recyclerview มีวิธีที่ดีกว่าในการใช้งานตอนนี้ด้วย Recyclerview หรือไม่?

10
วิธีการกรอง RecyclerView ด้วย SearchView
ฉันพยายามที่จะใช้งานSearchViewจากห้องสมุดการสนับสนุน ฉันต้องการให้ผู้ใช้จะใช้SearchViewในการกรองของภาพยนตร์ในListRecyclerView ฉันได้ติดตามบทเรียนไม่กี่ครั้งและฉันได้เพิ่มSearchViewไปยังActionBarแต่ฉันไม่แน่ใจจริงๆว่าจะไปจากที่นี่ ฉันเคยเห็นตัวอย่างเล็ก ๆ น้อย ๆ แต่ไม่มีพวกเขาใดที่แสดงผลลัพธ์เมื่อคุณเริ่มพิมพ์ นี่คือของฉันMainActivity: public class MainActivity extends ActionBarActivity { RecyclerView mRecyclerView; RecyclerView.LayoutManager mLayoutManager; RecyclerView.Adapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycler_view); mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); mAdapter = new CardAdapter() { @Override public Filter getFilter() { return …

4
มีวิธีในการแสดงตัวอย่างเนื้อหาของ RecyclerView ในโปรแกรมแก้ไข Android Studio หรือไม่?
เมื่อฉันเพิ่ม RecyclerView ลงในเลย์เอาต์มันจะปรากฏเป็นหน้าจอว่างเปล่า มีวิธีเช่นผ่านtoolsnamespace เพื่อแสดงตัวอย่างของเนื้อหาของ RecyclerView หรือไม่

16
RecyclerView กับ ListView
จากนักพัฒนา android ( การสร้างรายการและการ์ด ): วิดเจ็ต RecyclerView เป็น ListView เวอร์ชันขั้นสูงและยืดหยุ่นมากขึ้น โอเคมันฟังดูดี แต่เมื่อฉันเห็นภาพตัวอย่างฉันสับสนจริง ๆ เกี่ยวกับความแตกต่างระหว่างสองสิ่งนี้ ภาพด้านบนสามารถสร้างได้ง่าย ๆ โดยListViewใช้ตัวปรับต่อ ดังนั้นในสถานการณ์ใดบ้างที่ควรใช้RecyclerView?

18
มี addHeaderView ที่เทียบเท่าสำหรับ RecyclerView หรือไม่
ฉันกำลังมองหาสิ่งที่เทียบเท่ากับ addHeaderView สำหรับมุมมองรีไซเคิล โดยทั่วไปฉันต้องการให้ภาพที่มี 2 ปุ่มเพิ่มเป็นส่วนหัวของ listview มีวิธีอื่นในการเพิ่มมุมมองส่วนหัวในมุมมองรีไซเคิลหรือไม่ ตัวอย่างคำแนะนำจะเป็นประโยชน์ แก้ไข 2 (เพิ่มโครงร่างชิ้นส่วน): หลังจากเพิ่มคำสั่งบันทึกดูเหมือนว่า getViewType จะได้รับตำแหน่งเป็น 0 เท่านั้นสิ่งนี้นำไปสู่ ​​onCreateView เพียงแค่โหลดหนึ่งเลย์เอาต์: 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: …

23
RecyclerView ภายใน ScrollView ไม่ทำงาน
ฉันพยายามใช้เค้าโครงซึ่งมี RecyclerView และ ScrollView ที่เค้าโครงเดียวกัน แม่แบบเค้าโครง: <RelativeLayout> <ScrollView android:id="@+id/myScrollView"> <unrelated data>...</unrealated data> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/my_recycler_view" /> </ScrollView> </RelativeLayout> ปัญหา: ฉันสามารถเลื่อนไปจนถึงองค์ประกอบสุดท้ายของ ScrollView สิ่งที่ฉันพยายาม: มุมมองการ์ดภายในScrollView(ตอนนี้ScrollViewมีRecyclerView) - สามารถดูการ์ดได้จนถึงRecyclerView ความคิดเริ่มแรกคือการใช้สิ่งนี้viewGroupโดยใช้RecyclerViewแทนที่จะScrollViewเป็นประเภทการดูแบบใดแบบหนึ่งCardViewแต่ฉันได้ผลลัพธ์เดียวกันกับScrollView

12
จะอัปเดตข้อมูลอะแดปเตอร์ RecyclerView ได้อย่างไร
พยายามคิดออกว่ามีปัญหาอะไรกับการอัปเดตRecyclerViewอะแดปเตอร์ หลังจากฉันได้รับรายการผลิตภัณฑ์ใหม่ฉันพยายาม: อัปเดตArrayListจากส่วนที่recyclerViewมีการสร้างตั้งค่าข้อมูลใหม่เป็นอะแดปเตอร์แล้วโทรadapter.notifyDataSetChanged(); มันไม่ได้ผล. สร้างอะแดปเตอร์ใหม่ตามที่คนอื่นทำและใช้งานได้ แต่ไม่มีการเปลี่ยนแปลงสำหรับฉัน: recyclerView.setAdapter(new RecyclerViewAdapter(newArrayList)) สร้างวิธีการAdapterที่ปรับปรุงข้อมูลดังต่อไปนี้: public void updateData(ArrayList<ViewModel> viewModels) { items.clear(); items.addAll(viewModels); notifyDataSetChanged(); } แล้วฉันจะเรียกวิธีนี้ทุกครั้งที่ฉันต้องการอัปเดตรายการข้อมูล มันไม่ได้ผล. ในการตรวจสอบว่าฉันสามารถแก้ไข recyclerView ได้หรือไม่และฉันพยายามลบอย่างน้อยหนึ่งรายการ: public void removeItem(int position) { items.remove(position); notifyItemRemoved(position); } ทุกอย่างยังคงเหมือนเดิม นี่คืออะแดปเตอร์ของฉัน: public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> implements View.OnClickListener { private ArrayList<ViewModel> items; private OnItemClickListener onItemClickListener; public RecyclerViewAdapter(ArrayList<ViewModel> items) …

12
จะแสดงมุมมองที่ว่างด้วย RecyclerView ได้อย่างไร
ฉันกำลังใช้ในการวางมุมมองพิเศษในไฟล์รูปแบบตามที่อธิบายไว้ในListActivityเอกสารที่จะปรากฏขึ้นเมื่อไม่มีข้อมูล "android:id/empty"มุมมองนี้มีประชาชนได้ <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_data" /> ฉันสงสัยว่าจะสามารถทำสิ่งนี้กับใหม่ได้RecyclerViewอย่างไร

30
RecyclerView: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งรายการไม่ถูกต้อง
QA ของเราตรวจพบข้อผิดพลาด: เมื่อหมุนอุปกรณ์ Android (Droid Turbo) เกิดข้อผิดพลาดที่เกี่ยวข้องกับ RecyclerViewต่อไปนี้: java.lang.IndexOutOfBoundsException: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งรายการไม่ถูกต้อง 2 (ชดเชย: 2). สถานะ: 3 สำหรับฉันดูเหมือนว่าข้อผิดพลาดภายในใน RecyclerView เนื่องจากฉันไม่สามารถนึกถึงวิธีการใด ๆ ที่เกิดจากรหัสของเราโดยตรง ... มีใครพบปัญหานี้หรือไม่? อะไรจะแก้ปัญหาได้? วิธีแก้ปัญหาที่โหดร้ายอาจจะสามารถจับข้อยกเว้นเมื่อมันเกิดขึ้นและสร้างอินสแตนซ์ของ RecyclverView อีกครั้งตั้งแต่ต้นเพื่อหลีกเลี่ยงการถูกทิ้งให้อยู่ในสถานะที่เสียหาย แต่ถ้าเป็นไปได้ฉันต้องการทำความเข้าใจปัญหาให้ดีขึ้น (และอาจแก้ไขได้ที่แหล่งที่มา) แทนการปิดบัง ข้อผิดพลาดไม่ใช่เรื่องง่ายที่จะทำซ้ำ แต่มันเป็นอันตรายถึงชีวิตเมื่อมันเกิดขึ้น การติดตามสแต็กเต็ม: W/dalvikvm( 7546): threadid=1: thread exiting with uncaught exception (group=0x41987d40) E/AndroidRuntime( 7546): FATAL EXCEPTION: main E/AndroidRuntime( 7546): Process: …

7
รับรายการที่มองเห็นได้ใน RecyclerView
ฉันต้องรู้ว่าองค์ประกอบใดบ้างที่จะแสดงใน RecyclerView ของฉัน ไม่มีOnScrollListener.onScroll(...)วิธีเทียบเท่ากับ ListViews ฉันพยายามทำงานด้วยView.getGlobalVisibleRect(...)แต่แฮ็คนั้นน่าเกลียดเกินไปและก็ไม่ได้ผลเสมอไป มีใครคิดบ้างไหม?

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