标签: fastadapter

如何将两个适配器设置为一个RecyclerView?

我正在开发一个Android应用程序,其中我在'FirebaseDatabase`上存储两种不同类型的信息.

然后在MainActivity,我正在检索它们并向用户显示RecyclerView.这两个信息都是以不同的布局显示的,即两者的布局都不同,这就是为什么我有两个不同的Model类,现在有两个不同的适配器.我正在使用@MikePenz的FastAdapter

所以,我做的是我在recyclerview上设置适配器的顺序与从数据库中获取信息的顺序相同:

1.

public void prepareDataOfSRequests() {
        gModelClass = new GModelClass(postedBy, ***, ***, ***, "error", ***, formattedTime, currentLatitude, currentLongitude, utcFormatDateTime, userEmail, userID, null, ***, itemID);
        fastItemAdapter.add(0, gModelClass);
        recyclerView.setAdapter(fastItemAdapter);
        recyclerView.smoothScrollToPosition(0);
        emptyRVtext.setVisibility(View.INVISIBLE);
    }
Run Code Online (Sandbox Code Playgroud)

2.

public void prepareDataOfERequests() {
        eModelClass = new EModelClass(***, ***, ***, ***, "error", ***, formattedTimeE, currentLatitudeE, currentLongitudeE, utcFormatDateTimeE, userEmailE, userIDE, null, ***, ***, ***, ***, itemID);
        fastItemAdapterER.add(eventRequestsModelClass);
        recyclerView.setAdapter(fastItemAdapterER);
        recyclerView.smoothScrollToPosition(0);
        emptyRVtext.setVisibility(View.INVISIBLE);
    }
Run Code Online (Sandbox Code Playgroud)

由于recyclerview只有一个,我正在逐个设置2个不同的适配器,所以Recyclerview正在使用第二个适配器进行更新并仅显示其内容.

那么,如何将适配器显示或设置为相同的"RecyclerView"并显示存储在两个适配器中的内容.

android android-adapter android-viewholder android-recyclerview fastadapter

10
推荐指数
2
解决办法
1万
查看次数

无法根据每个项目保存的长时间编写过滤掉RecyclerView中项目的算法

我有几个项目,RecyclerView每个项目都有一个long保存的值.我正在使用FastAdapter作为我的适配器RecyclerView.

假设有在7个项目RecyclerView与长值:11122,12321,-98811,8870,-88009,3398,和-22113.

所以,我想要做的是,我想使用这个逻辑基于上面给出的长值过滤项目:

if (l <= 1000) {
  // show items with long value <=1000
} else if (l > 1000) {
  // show items with long value >1000
}
Run Code Online (Sandbox Code Playgroud)

我尝试了各种各样的东西,但没有成功.

更新1:这里的项目是一种存储在CardView其中然后显示的不同数据RecyclerView.每张卡包含不同的数据,其中一个是上面给出的long值.我想long根据上面给出的逻辑,根据存储在每张卡中的这些值来过滤数据.

请帮助我解决这个问题,并提出一些我可以实现此目的的算法或代码.

java algorithm android android-recyclerview fastadapter

8
推荐指数
1
解决办法
413
查看次数

MikePenz FastAdapter的用法

我正在尝试实现fastadapter。我只是复制了示例代码,并试图使其正常工作。当我尝试时,它在我的“回收者”视图中不显示任何内容。通过调试,我发现没有调用bindView()。

我的SampleItem.jave

public class SimpleItem extends AbstractItem<SimpleItem, SimpleItem.ViewHolder> {
public StringHolder name;
public StringHolder description;

//The unique ID for this type of item
@Override
public int getType() {
    return (int) System.currentTimeMillis();
}

//The layout to be used for this type of item
@Override
public int getLayoutRes() {
    return R.layout.sample_item;
}

@Override
public ViewHolder getViewHolder(@NonNull View v) {
    return new ViewHolder(v);
}

public void setName(String name){
    this.name = new StringHolder(name);
}

public void setDescription(String description){
    this.description = new StringHolder(description);
}

@Override …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview fastadapter

1
推荐指数
1
解决办法
1117
查看次数

从 LiveData 加载后 FastAdapter 闪烁,即使数据保持不变

对于这个问题,我在 Github准备了一个简单而有效的例子

应用截图

我的示例应用程序使用 okhttp 下载一个包含游戏中前 30 名玩家的 JSON 数组,并将它们存储到 SQLite Room 中。在片段中,我观察相应的LiveData<List<TopEntity>>对象并更新 FastAdapter 实例:

public class TopFragment extends Fragment {
    private final ItemAdapter<TopItem> mItemAdapter = new ItemAdapter<>();
    private final FastAdapter<TopItem> mFastAdapter = FastAdapter.with(mItemAdapter);

    private TopViewModel mViewModel;
    private ProgressBar mProgressBar;
    private RecyclerView mRecyclerView;

    @Override
    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container,
                             Bundle savedInstanceState) {

        mViewModel = ViewModelProviders.of(this).get(TopViewModel.class);
        mViewModel.getTops().observe(this, tops -> {
            mItemAdapter.clear();
            for (TopEntity top: tops) {
                TopItem item = new TopItem(top);
                mItemAdapter.add(item); …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview fastadapter android-livedata

1
推荐指数
2
解决办法
1134
查看次数