我使用parse-server开发使用RecyclerView显示图像项的应用程序。
但问题是每次我上下滚动时,视图中显示的项目都会改变。
我想知道我的代码有什么问题。
如果您看到下面的图片,您可以发现这些项目正在改变他们的位置。
我试图让持有人图像变为空,然后再次致电持有人。但它不起作用。我想当我再次拨打该项目时,该项目的位置编号会发生变化。但我无法找到原因
enter image description here enter image description here
RecyclerParseAdapter.java
final PermissionCompat.Builder builder = new PermissionCompat.Builder(activity);
builder.addPermissions(new String[]{
Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO
});
builder.addPermissionRationale(activity.getString(R.string.permission_rationale));
builder.addRequestPermissionsCallBack(new OnRequestPermissionsCallBack() {
@Override
public void onGrant() {
Log.d(TAG, "Grant");
}
@Override
public void onDenied(String permission) {
Log.e(TAG, "Denied");
}
});
builder.build().request();
答案 0 :(得分:0)
我确实发现了问题
我在适配器中添加了overide方法然后它可以找到。
@Override
public int getItemViewType(int position) {
return position;
}
我不确定为什么会发生这种情况。有谁帮我了解问题的原因?
答案 1 :(得分:0)
前几天我遇到类似的问题this post。 onBindViewHolder需要知道如何在调用行时显示该行。我根据getItemViewType中的需要返回了两种不同的视图类型,在onCreateViewHolder中有条件地膨胀了视图类型,然后我可以根据需要在ViewHolder上设置数据。