Articles of android recyclerview

android java onClick无法执行该活动的方法

这是我第一次使用recyclerview,我得到一些有关android:onClick="addItem"错误android:onClick="addItem"这里是我得到的,当我尝试添加一行文本到我的recyclerview。 我通常使用我的手机来testing我的应用程序。 java.lang.IllegalStateException: Could not execute method of the activity at android.view.View$1.onClick(View.java:4012) at android.view.View.performClick(View.java:4761) at android.view.View$PerformClick.run(View.java:19767) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5312) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at android.view.View$1.onClick(View.java:4007) at android.view.View.performClick(View.java:4761) at android.view.View$PerformClick.run(View.java:19767) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5312) […]

处理Recyclerview – android内的项目的触摸事件

我正在构build一个简单的自定义布局(文本视图和开关)和一个自定义适配器recyclerview。 我的问题是我无法处理交换机的点击事件(这使得它切换其状态),我已经build立了一个触摸监听器为recyclerview,它每次点击开关时触发。 经过大量的尝试,开关触摸侦听器也会触发,但是如果点击了开关,我想禁用recyclerView触摸事件。 这是我的布局代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="60.0dip" android:layout_weight="1.0" android:orientation="horizontal" android:paddingLeft="16dp"> <TextView android:id="@+id/category_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="false" android:layout_centerVertical="true" android:layout_gravity="center_vertical" android:text="Category Name" android:textAppearance="?android:textAppearanceLarge" /> <android.support.v7.widget.SwitchCompat android:id="@+id/category_switch" android:layout_width="80dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_gravity="center_vertical" android:checked="true" android:clickable="true" android:focusable="false" android:focusableInTouchMode="false" android:paddingRight="16dp" /> </RelativeLayout> 这是我的适配器代码: public CategoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View row = layoutInflater.inflate(R.layout.single_row_category, parent, false); CategoryViewHolder holder = […]

Android:SortedList与重复

理解RecyclerView的SortedList有一些问题。 比方说,我有一个非常简单的类只有一个非常简单的类持有数据: public class Pojo { public final int id; public final char aChar; public Pojo(int id, char aChar) { this.id = id; this.aChar = aChar; } @Override public String toString() { return "Pojo[" + "id=" + id + ",aChar=" + aChar + "]"; } } 我的理解是,sorting列表将不会包含任何重复。 但是当我有一个SortedList这样的callback: …. @Override public boolean areContentsTheSame(Pojo oldItem, Pojo […]

我可以创build一个像这样的嵌套滚动布局吗?

我认为这可以通过NestedScrollingChild NestedScrollingParent来实现。 但是我真的不能理解他们,谁能帮助我! 产品经理坚持devise。 ScrollView包含一个LinearLayout ,一个“TabLayout”和一个ViewPager 。 ViewPager包含2个包含RecyclerView fragment或者仅包含2个RecyclerView 。 当ScrollView滚动到底部时, RecyclerView可以滚动到底部。 当RecyclerView滚动到Top时, ScrollView可以滚动到Top。 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="match_parent" android:layout_height="1000dp" /> <TableLayout android:layout_width="match_parent" android:layout_height="60dp"></TableLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent"></android.support.v4.view.ViewPager> </LinearLayout> </ScrollView>

在Recyclerview的情况下,listview.getCount是什么

我已经使用listview.getCount()如何在Recyclerview计数 id = receiver + "-" + splashList.getCount(); 适配器中的自定义方法: public void setImage(String my_image, String r_image) { byte[] decodedrimage = Base64.decode(r_image, Base64.DEFAULT); Bitmap decodedrByte = BitmapFactory.decodeByteArray(decodedrimage, 0, decodedrimage.length); if (my_image.equals("empty")) { imgflag = 1; } else { byte[] decodedmyimage = Base64.decode(my_image, Base64.DEFAULT); Bitmap decodedmyByte = BitmapFactory.decodeByteArray( decodedmyimage, 0, decodedmyimage.length); rimage = createCirclebitmap(decodedrByte); myimage = createCirclebitmap(decodedmyByte); } […]

使用RecyclerView.Adapter设置onBindViewHolder()内的项目单击监听器

我有一个自定义对象: Student.class public class Student { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } } 然后我实现RecyclerView适配器像这样: MyAdapter.class public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private Context […]

asynchronous删除ListView / RecyclerView项目的最佳做法

我有一个CursorLoader ListView 。 用户可以打开ListView项目(打开另一个Fragment )或删除项目。 所有数据库操作都是asynchronous发生的,通常只需要几分之一秒的时间。 但从技术上讲,用户可以删除一个项目,然后在删除callback和导致错误之前打开该项目。 处理这个问题的最好方法是什么? 这里是我看到的选项。 假设AsyncTask总是会很快发生,以避免出现问题 在UI线程上执行数据库操作 在AsyncTask之前使ListView无效(但这会在UI中导致闪存) 在AsyncTask阻止用户input 编辑:我结束了使用RecyclerView但我不能调用adapter.notifyItemRemoved(itemPos)直到我已经从数据库中删除项目。

如何处理使用RxJava的回收站视图的项目点击

我有兴趣了解什么是响应回收商视图的项目点击的最佳方式。 通常我会添加一个onclick()监听器到ViewHolder,并通过一个接口将结果传递给activity / fragment。 我想在onBindViewHolder中添加一个Observable,但是我不想为每个项目绑定创build一个新的Observable。

Android RecyclerView错误

今天我试图使用新的Android RecyclerView。 我创build了一个空白活动的新项目,并在其布局中添加了以下内容: <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"/> 在Gradle构build依赖项中,我添加了: compile 'com.android.support:support-v4:21.0.0' compile 'com.android.support:recyclerview-v7:21.+' compile 'com.android.support:cardview-v7:21.+' 但activity_main.xml呈现仍然显示我以下错误: Rendering Problems The following classes could not be instantiated: – android.support.v7.widget.RecyclerView (Open Class, Show Exception) Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE Exception Details java.lang.UnsupportedOperationException: Unsupported Service: […]

实施轻扫以刷新布局后,Recycler视图不能正确滚动

在实施刷卡刷新视图之前,回收者视图运行正常,但无论何时尝试向下滚动回收视图刷卡以刷新干扰并阻碍滚动移动。 这是问题的屏幕截图: (请注意刷新布局来回收视图向下滚动) 这是我的布局片段: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/activity_main_swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:wheel="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/availableTaskRecyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> <RelativeLayout android:id="@+id/progress_wheel" android:visibility="gone" tools:visibility="visible" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:background="@color/transparentLoaderBackground"> <com.pnikosis.materialishprogress.ProgressWheel android:layout_width="50dp" android:layout_height="50dp" wheel:matProg_barColor="@color/white" wheel:matProg_barWidth="1dp" wheel:matProg_progressIndeterminate="true"/> </RelativeLayout> <RelativeLayout android:id="@+id/no_available_tasks" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" tools:visibility = "visible" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="No tasks currently […]