来自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) 如何在网格RecycleView中获取"向上滚动以加载更多"的不确定循环指示符?
该模式在那里描述:http://www.google.com/design/spec/components/progress-activity.html#progress-activity-behavior in"两阶段加载"和"示例2:向上滚动以加载更多"示例视频.
我正在尝试使用新的RecyclerView来实现这一点,但是我找不到一种"不太苛刻"的方式来做到这一点,首先是因为没有办法在网格中添加覆盖整行的页脚.有什么建议?
也许之前已经问过这个问题,但我似乎无法找到准确的答案或解决方案.我开始使用RecyclerView,并使用LinearLayoutManager实现它.现在我想添加自定义页眉和页脚项目,这些项目与我的RecyclerView中的其他项目不同.页眉和页脚不应该是粘性的,我希望它们与其余项目一起滚动.有人可以指出一些例子如何做到这一点或只是分享想法.我会非常感激.谢谢
android header footer android-5.0-lollipop android-recyclerview
从Android Market获取灵感,我实现了一个Endless List,当我们到达List的末尾时,它会从服务器加载更多数据.
现在,我需要实现进度条和"正在加载..."文本,如图所示
从中获取灵感的示例代码将非常棒.
我遵循了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个物品被加载时,旋转器仍在那里:

我究竟做错了什么?
我正试图在我身上实施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)