相关疑难解决方法(0)

如何使用多种视图类型创建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 = LayoutInflater.from(parent.getContext()).inflate(R.layout.some_layout, parent, false);

        //findViewById...

        ViewHolder vh = new ViewHolder(v);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.mTextView.setText(mDataset[position]);
    }

    @Override
    public int …
Run Code Online (Sandbox Code Playgroud)

user-interface android android-recyclerview

795
推荐指数
13
解决办法
39万
查看次数

将不确定的进度条作为页脚放入RecyclerView网格中

如何在网格RecycleView中获取"向上滚动以加载更多"的不确定循环指示符?

该模式在那里描述:http://www.google.com/design/spec/components/progress-activity.html#progress-activity-behavior in"两阶段加载"和"示例2:向上滚动以加载更多"示例视频.

我正在尝试使用新的RecyclerView来实现这一点,但是我找不到一种"不太苛刻"的方式来做到这一点,首先是因为没有办法在网格中添加覆盖整行的页脚.有什么建议?

android footer android-recyclerview

55
推荐指数
3
解决办法
4万
查看次数

RecyclerView页眉和页脚

也许之前已经问过这个问题,但我似乎无法找到准确的答案或解决方案.我开始使用RecyclerView,并使用LinearLayoutManager实现它.现在我想添加自定义页眉和页脚项目,这些项目与我的RecyclerView中的其他项目不同.页眉和页脚不应该是粘性的,我希望它们与其余项目一起滚动.有人可以指出一些例子如何做到这一点或只是分享想法.我会非常感激.谢谢

android header footer android-5.0-lollipop android-recyclerview

52
推荐指数
5
解决办法
7万
查看次数

Android:为Android Market等无尽列表实现进度条和"加载..."

从Android Market获取灵感,我实现了一个Endless List,当我们到达List的末尾时,它会从服务器加载更多数据.

现在,我需要实现进度条和"正在加载..."文本,如图所示替代文字

从中获取灵感的示例代码将非常棒.

android android-listview

33
推荐指数
1
解决办法
4万
查看次数

使用ProgressBar在底部向Endless Scroll RecyclerView添加项目

我遵循了Vilen关于SO的优秀答案:在RecyclerView网格中将一个不确定的进度条作为页脚,介绍如何使用ProgressBar实现无限滚动回收视图.

我自己实现它并且它有效,但我想扩展这个例子.我想在recyclerview的顶部添加额外的项目,类似于Facebook在添加新状态更新时的操作方式.

我无法成功地将额外的项添加到列表中 - 这是我在其MainActivity中添加到Vilen代码中的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    if (id == R.id.add) {
        myDataset.add(0, "Newly added");
        mRecyclerView.smoothScrollToPosition(0);
        mAdapter.notifyItemInserted(0);
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)

当我点击"添加"按钮时:

添加新项目

当我向下滚动时,我得到两个旋转器而不是一个:

向下滚动

当旋转器完成并且下一个5个物品被加载时,旋转器仍在那里:

旋转后

我究竟做错了什么?

android infinite-scroll android-recyclerview

32
推荐指数
1
解决办法
4万
查看次数

RecyclerView添加EmptyView

我正试图在我身上实施EmptyView,RecyclerView Adapter但我没有得到任何结果.

我已经按照本教程和这个提示,但没有人为我工作.

我实施了:

if (viewType == EMPTY_VIEW) {
    v = LayoutInflater.from(parent.getContext()).inflate(R.layout.empty_view, parent, false);
    EmptyViewHolder evh = new EmptyViewHolder(v);
    return evh;
}

v = LayoutInflater.from(parent.getContext()).inflate(R.layout.data_row, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
Run Code Online (Sandbox Code Playgroud)

但它不允许我编译,因为它们是不同的ViewHolder,因为我创建了两个ViewHolder类,但他们extends Recycler.ViewHolder所以我没有得到它...

我正在尝试这样做,因为我有一个SearchView,我想要当列表为空它显示一个EmptyView,我已经得到它以编程方式做它但我更喜欢添加像一个layout因为我不知道那么多怎么样放置TextViews并以Buttons编程方式.

如果我放

return dataList.size() > 0 ? dataList.size() : 1;
Run Code Online (Sandbox Code Playgroud)

它给了我错误,因为索引是0.

我已经调试了viewType并且始终是1,那么它将不会加入if条件......

深入Android我发现了这个:

/** …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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