我正在探索RecyclerView
,我很惊讶地看到RecyclerView
它没有onItemClickListener()
.因为RecyclerView
延伸
android.view.ViewGroup
并ListView
扩展
android.widget.AbsListView
.不过,我解决我的问题写onClick
在我的RecyclerView.Adapter
:
public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
public TextView txtViewTitle;
public ImageView imgViewIcon;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title);
imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon);
}
@Override
public void onClick(View v) {
}
}
Run Code Online (Sandbox Code Playgroud)
但我仍然想知道为什么谷歌被删除了onItemClickListener()
?
是否有性能问题或其他问题?
这是一个如何ListView
使用divider和dividerHeight参数在类中执行的示例:
<ListView
android:id="@+id/activity_home_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@android:color/transparent"
android:dividerHeight="8dp"/>
Run Code Online (Sandbox Code Playgroud)
但是,我没有在RecyclerView
课堂上看到这种可能性.
<android.support.v7.widget.RecyclerView
android:id="@+id/activity_home_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,可以直接定义边距和/或将自定义分隔视图添加到列表项的布局中,还是有更好的方法来实现我的目标?
来自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) 有没有人使用RecyclerView
找到一种方法来设置一个onClickListener
项目RecyclerView
?我想为每个项目的每个布局设置一个监听器,但这似乎有点太麻烦我确信有一种方法RecyclerView
可以听取这个onClick
事件,但我无法弄明白.
我想换ListView
到RecyclerView
.我想使用onScroll
的的OnScrollListener
在RecyclerView
确定用户滚动到列表的末尾.
如何知道用户是否滚动到列表末尾以便我可以从REST服务获取新数据?
android listview onscrolllistener material-design android-recyclerview
我需要在我的Android应用程序中实现水平列表视图.我做了一些研究并遇到了如何在Android中制作水平ListView?和Android中的水平ListView?然而,这些问题是在Recyclerview发布之前提出的.现在使用Recyclerview有更好的方法来实现吗?
我正在尝试SearchView
从支持库实现.我希望用户使用它SearchView
来过滤一部List
电影RecyclerView
.
到目前为止我已经按照了几个教程添加SearchView
了ActionBar
,但是我不确定从哪里开始.我看过几个例子,但是当你开始输入时,它们都没有显示结果.
这是我的MainActivity
:
public class MainActivity extends ActionBarActivity {
RecyclerView mRecyclerView;
RecyclerView.LayoutManager mLayoutManager;
RecyclerView.Adapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new CardAdapter() {
@Override
public Filter getFilter() {
return null;
}
};
mRecyclerView.setAdapter(mAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar …
Run Code Online (Sandbox Code Playgroud) 我正在为回收者视图寻找相当于addHeaderView的东西.基本上我想要一个带有2个按钮的图像作为标题添加到列表视图中.是否有不同的方法将标题视图添加到回收站视图?指导的一个例子会很有帮助
编辑2(添加片段布局):
添加日志语句后,似乎getViewType只接收到0的位置.这导致onCreateView只加载一个布局:
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766 5449-5449/co.testapp I/logger info? …
Run Code Online (Sandbox Code Playgroud) 来自android开发人员(创建列表和卡片):
RecyclerView小部件是ListView的更高级和灵活的版本.
好吧,这听起来很酷,但是当我看到这个示例图片时,我对两者之间的区别感到非常困惑.
ListView
使用自定义适配器可以轻松创建上面的图片.
那么,在什么情况下应该使用RecyclerView
?
当我将RecyclerView添加到布局时,它显示为空白屏幕.有没有办法,比如通过tools
名称空间,来显示RecyclerView内容的预览?
android android-studio android-recyclerview android-tools-namespace