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

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

18
วิธีเลื่อนไปที่ด้านล่างของ RecyclerView scrollToPosition ไม่ทำงาน
ฉันต้องการเลื่อนไปที่ด้านล่างของรายการ RecyclerView หลังจากโหลดกิจกรรม GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE); conversationView = (RecyclerView) findViewById(R.id.list_messages); conversationView.setHasFixedSize(true); conversationViewLayoutManager = new LinearLayoutManager(this); conversationView.setLayoutManager(conversationViewLayoutManager); conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this); conversationView.setAdapter(conversationViewAdapter); conversationView.scrollTo(...)มีข้อยกเว้นเกี่ยวกับการไม่รองรับใน RecyclerView และconversationView.scrollToPosition(...)ดูเหมือนจะไม่ทำอะไรเลย หลังจากบล็อกรหัสด้านบนฉันเพิ่ม conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1) ซึ่งไม่ทำงาน มี 30 GENERIC_MESSAGE_LISTองค์ประกอบในเป็น

30
Recyclerview ไม่เรียก onCreateViewHolder
ฉันRecyclerViewไม่เรียกonCreateViewHolder, onBindViewHolderแม้กระทั่งคอนสตรัคจึงไม่มีอะไรที่ปรากฏในMenuViewHolder RecyclerViewฉันใส่บันทึกเพื่อแก้ไขข้อบกพร่องและไม่มีการแสดงผลบันทึก อาจมีปัญหาอะไร? อะแดปเตอร์ของฉัน: public class MenuAdapter extends RecyclerView.Adapter<MenuAdapter.MenuViewHolder> { private LayoutInflater inflater; List<Menu> data = Collections.emptyList(); public MenuAdapter(Context context, List<Menu> data) { Log.i("DEBUG", "Constructor"); inflater = LayoutInflater.from(context); Log.i("DEBUG MENU - CONSTRUCTOR", inflater.toString()); this.data = data; for(Menu menu: this.data){ Log.i("DEBUG MENU - CONSTRUCTOR", menu.menu); } } @Override public MenuViewHolder …

9
Android Recyclerview เทียบกับ ListView กับผู้ดู
ฉันเพิ่งเจอ android RecyclerViewที่เปิดตัวพร้อมกับ Android 5.0 และดูเหมือนว่าRecyclerViewเป็นแบบดั้งเดิมที่ห่อหุ้มListViewด้วยรูปแบบ ViewHolder ที่รวมอยู่ในนั้นซึ่งส่งเสริมการนำมาใช้ใหม่ของมุมมองแทนที่จะสร้างเป็นทุกครั้ง ประโยชน์อื่น ๆ ของการใช้RecyclerViewคืออะไร? หากทั้งคู่มีผลเหมือนกันในแง่ของประสิทธิภาพเหตุใดจึงเลือกใช้ RecyclerView` แก้ไข ฉันพบว่าผู้คนได้ถามคำถามที่คล้ายกันและคำตอบไม่ได้ข้อสรุปเพิ่มพวกเขาที่นี่เพื่อเก็บบันทึก Recyclerview เทียบกับ Listview เราควรใช้ RecyclerView เพื่อแทนที่ ListView หรือไม่ ทำไม RecyclerView ไม่มี onItemClickListener () และ RecyclerView แตกต่างจาก Listview อย่างไร

14
วิธีไฮไลต์รายการที่เลือกอย่างถูกต้องใน RecyclerView
ฉันพยายามที่จะใช้เป็นแนวนอนRecyclerView ListViewฉันกำลังพยายามหาวิธีเน้นรายการที่เลือก เมื่อฉันคลิกที่รายการใดรายการหนึ่งมันจะถูกเลือกและมันถูกเน้นอย่างเหมาะสม แต่เมื่อฉันคลิกที่รายการอื่นรายการที่สองจะถูกเน้นด้วยรายการที่เก่ากว่า นี่คือฟังก์ชั่น onClick ของฉัน: @Override public void onClick(View view) { if(selectedListItem!=null){ Log.d(TAG, "selectedListItem " + getPosition() + " " + item); selectedListItem.setBackgroundColor(Color.RED); } Log.d(TAG, "onClick " + getPosition() + " " + item); viewHolderListener.onIndexChanged(getPosition()); selectedPosition = getPosition(); view.setBackgroundColor(Color.CYAN); selectedListItem = view; } นี่คือonBindViewHolder: @Override public void onBindViewHolder(ViewHolder …

11
RecyclerView ขยาย / ยุบรายการ
ฉันต้องการขยาย / ยุบรายการ recyclerView ของฉันเพื่อแสดงข้อมูลเพิ่มเติม ฉันต้องการที่จะบรรลุผลเช่นเดียวกันของSlideExpandableListView โดยทั่วไปในมุมมองของฉันโฟลเดอร์ฉันมีมุมมองที่มองไม่เห็นและฉันต้องการที่จะทำภาพเคลื่อนไหวขยาย / ยุบอย่างราบรื่นมากกว่าตั้งค่าการมองเห็นเป็น VISIBLE / GONE เท่านั้น ฉันต้องการเพียงแค่รายการที่จะขยายในเวลาและมันจะเจ๋งที่จะมีระดับความสูงเพื่อแสดงว่ารายการที่เลือก มันเป็นผลเช่นเดียวกันของรายการประวัติการโทรล่าสุดของ Android ตัวเลือก "การโทรกลับ" และ "รายละเอียด" จะปรากฏให้เห็นเฉพาะเมื่อมีการเลือกรายการ

10
match_parent width ไม่ทำงานใน RecyclerView
RecyclerView และรายการของฉันมีความกว้างที่ตรงกัน แต่ผลลัพธ์คือ: <view class="android.support.v7.widget.RecyclerView" android:layout_width="match_parent" และรายการ: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:fab="http://schemas.android.com/apk/res-auto" android:id="@+id/ll_itm" android:orientation="horizontal" android:layout_width="match_parent" เต็ม: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:fab="http://schemas.android.com/apk/res-auto" android:id="@+id/ll_itm" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="100" android:gravity="right" > <Button android:layout_width="0dp" android:layout_weight="15" android:layout_height="fill_parent" android:text="ملاحظات" android:id="@+id/button" /> <LinearLayout android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="20" android:gravity="center" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <com.getbase.floatingactionbutton.FloatingActionButton android:layout_width="fill_parent" android:layout_height="fill_parent" …

17
Android RecyclerView การเพิ่ม & การลบรายการ
ฉันมี RecyclerView พร้อมกล่องข้อความ TextView และปุ่มข้าม ImageView ฉันมีปุ่มด้านนอกของ recyclerview ที่ทำให้ปุ่มกากบาท ImageView มองเห็น / หายไป ฉันกำลังมองหาที่จะลบรายการจาก recylerview เมื่อกดปุ่มข้ามรายการนั้น ImageView อะแดปเตอร์ของฉัน: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public MyAdapter.ViewHolder …

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

11
RecyclerView - รับมุมมองเฉพาะตำแหน่ง
ฉันมีกิจกรรมกับหนึ่งและRecyclerView ImageViewฉันใช้ปุ่มRecyclerViewเพื่อแสดงรายการภาพในแนวนอน เมื่อฉันคลิกบนภาพในนั้นในกิจกรรมที่ควรจะแสดงภาพขนาดใหญ่ของภาพ จนถึงทุกอย่างทำงานได้ดีRecyclerViewImageView ขณะนี้มีอีกสองImageButtonsกิจกรรม: และimageButton_left imageButton_rightเมื่อฉันคลิกimageButton_leftที่ภาพในImageViewควรเลี้ยวซ้ายและภาพขนาดย่อในRecyclerViewควรสะท้อนถึงการเปลี่ยนแปลงนี้ imageButton_rightที่คล้ายกันเป็นกรณีที่มี ImageViewฉันสามารถที่จะหมุน แต่ฉันจะหมุนรูปย่อในRecyclerView? ฉันจะรับViewHolderของได้ImageViewอย่างไร รหัส: กิจกรรม XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:orientation="vertical"> <ImageView android:id="@+id/original_image" android:layout_width="200dp" android:layout_height="200dp" android:scaleType="fitXY" android:src="@drawable/image_not_available_2" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:orientation="horizontal"> <ImageButton android:id="@+id/imageButton_left" android:layout_width="wrap_content" …

6
สีพื้นหลัง CardView เป็นสีขาวเสมอ
ฉันใช้ RecyclerView กับ GridLayoutManager และฉันมีแต่ละรายการเป็น CardView น่าเสียดายที่ CardView ที่นี่ดูเหมือนจะไม่เปลี่ยนสีพื้นหลัง ฉันลองใช้เลย์เอาต์และการเขียนโปรแกรมด้วย แต่ฉันพยายามแล้วดูเหมือนจะไม่ได้ผล ฉันดิ้นรนมาระยะหนึ่งแล้ว ฉันขอขอบคุณหากมีใครสามารถช่วยฉันแก้ปัญหานี้ได้

2
วิธีเพิ่ม 8dp header / footer อย่างง่าย ๆ ไปยัง RecyclerView ของ Android
มีวิธีการเพิ่มส่วนหัว / ท้ายกระดาษธรรมดา ๆ ลงใน RecyclerView หรือไม่? ที่นี่คุณสามารถเห็นสิ่งที่ฉันมี บัตรใบแรกสัมผัสกับแถบเครื่องมือ และที่นี่คุณสามารถเห็นสิ่งที่ฉันต้องการ 8dp Padding ระหว่างด้านล่างและการ์ด วิธีการที่ฉันพยายาม: ใช้มุมมองส่วนหัวใน recyclerview ของฉัน แต่ฉันคิดว่ามันไม่มีประสิทธิภาพมากที่จะทำสิ่งนี้สำหรับทุก ๆ recyclerview ใช้ระยะขอบสูงสุด 8dp ซึ่งทำให้เกิดปัญหาว่า recyclerview มีแถบสีขาวอยู่ด้านบน / ล่างเมื่อเลื่อน เพิ่มช่องว่างภายในรายการซึ่งส่งผลให้ระยะขอบที่แตกต่างกันระหว่างการ์ดด้านนอกและด้านใน ฉันแน่ใจว่ามีวิธีแก้ปัญหาง่ายๆที่ฉันยังไม่รู้

22
Android RecyclerView: informDataSetChanged () IllegalStateException
ฉันกำลังพยายามอัปเดตรายการของ recycleview โดยใช้ informDataSetChanged () นี่คือเมธอด onBindViewHolder () ของฉันในอะแดปเตอร์ recycleview @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { //checkbox view listener viewHolder.getCheckbox().setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //update list items notifyDataSetChanged(); } }); } สิ่งที่ฉันต้องการทำคืออัปเดตรายการหลังจากฉันทำเครื่องหมายในช่อง ฉันได้รับข้อยกเว้นที่ผิดกฎหมายแม้ว่า:"Cannot call this method while RecyclerView is computing a layout …

11
มุมมอง Recycler ภายใน NestedScrollView ทำให้การเลื่อนเริ่มตรงกลาง
ฉันมีพฤติกรรมแปลก ๆ ในการเลื่อนเมื่อฉันเพิ่ม RecyclerView ภายใน NestedScrollView สิ่งที่เกิดขึ้นคือเมื่อใดก็ตามที่ scrollview มีแถวมากกว่าที่จะแสดงในหน้าจอได้ทันทีที่มีการเปิดกิจกรรม NestedScrollView จะเริ่มต้นด้วยการชดเชยจากด้านบน (ภาพที่ 1) หากมีรายการเพียงไม่กี่รายการในมุมมองแบบเลื่อนเพื่อให้สามารถแสดงทั้งหมดได้ในครั้งเดียวสิ่งนี้จะไม่เกิดขึ้น (ภาพที่ 2) ฉันกำลังใช้เวอร์ชัน 23.2.0 ของไลบรารีการสนับสนุน ภาพที่ 1 : ผิด - เริ่มต้นด้วยการชดเชยจากด้านบน รูปภาพ 2 : ถูกต้อง - มีไม่กี่รายการในมุมมองผู้รีไซเคิล ฉันกำลังวางโค้ดด้านล่างของฉัน: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="fill_vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp"> <LinearLayout …

11
วิธีรับบริบทในอะแด็ปเตอร์มุมมองรีไซเคิล
ฉันพยายามใช้ไลบรารี picasso เพื่อให้สามารถโหลด url ไปยัง imageView ได้ แต่ฉันไม่สามารถcontextใช้ไลบรารี picasso ได้อย่างถูกต้อง public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> { private List<Post> mDataset; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the …

12
การใช้ Recyclerview กับฐานข้อมูล
ขณะนี้ไม่มีการใช้งาน RecyclerView.Adapter เป็นค่าเริ่มต้น อาจจะมีการเปิดตัวอย่างเป็นทางการ Google จะเพิ่มให้ เนื่องจากมีการสนับสนุนสำหรับการไม่มีCursorAdapterที่มีRecyclerViewอยู่ในปัจจุบันวิธีการที่เราสามารถใช้RecyclerViewกับฐานข้อมูลหรือไม่ ข้อเสนอแนะใด ๆ ?

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