Android_RecyclerView&SwipeRefreshLayout_swiperefreshlayout不显示_解决
16lz
2021-01-26
@作者 : 西野奈留
@博客:http://blog.csdn.net/narunishino
-2016/5/18-
沉重的教训啊!
昨天下午搞了一个下午,然后到现在才解决…..真是郁闷…
具体情况:下拉的时候swiperefreshlayout不显示。
布局文件:.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> .support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" />.support.v4.widget.SwipeRefreshLayout>
上面的布局代码明明没有错啊,为什么swiperefreshlayout就是不显示呢。
原因是:在MainActivity的onCreat中,我只写了以下的代码:
private void initRecycler() { RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView); if (recyclerView != null) { recyclerView.setLayoutManager(new LinearLayoutManager(this)); //真是坑.... //recyclerView.setAdapter(new RecyclerAdapter(this)); } } private void init() { final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); if (swipeRefreshLayout != null) { swipeRefreshLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { swipeRefreshLayout.postDelayed(new Runnable() { @Override public void run() { swipeRefreshLayout.setRefreshing(false); } }, 5000); } }); } }
,没有加上adapter….
加了adapter就没事了….我了个去!!!!!!!
啊啊啊啊啊啊啊啊。。。。。。。。。。。。。。。。。。。。。。。。。。。
//RecyclerAdapter.javapublic class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.MyHolder> { private Context mContext; private List mData; public RecyclerAdapter(Context context) { mContext = context; mData = new ArrayList<>(); for (int i = 0; i < 5; i++) { mData.add(i + "行"); } } @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyHolder holder = new MyHolder(LayoutInflater.from(mContext).inflate(R.layout.tv_item, parent, false)); return holder; } @Override public void onBindViewHolder(MyHolder holder, int position) { holder.tv.setText(mData.get(position)); } @Override public int getItemCount() { return mData.size(); } class MyHolder extends RecyclerView.ViewHolder { TextView tv; public MyHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.tvItem); } }}
//tv_item.xml<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tvItem" android:layout_width="match_parent" android:layout_height="50dp">TextView>
-End-
更多相关文章
- android 之 PhoneGap+jQuery Mobile+Rest 访问远程数据
- android 安卓APP获取手机设备信息和手机号码的代码示例
- LinearLayout中的layout_weight属性
- Android:解决全屏界面到带有状态栏界面切换问题
- android 6.0 Launcher3 去掉抽屉式,显示所有 app
- 《第一行代码》阅读笔记(三十四)——Material Design
- Android中获取TextView一行最多能显示几个字
- 走心的Android(安卓)10 适配指南,手把手上代码
- 【Android】上传代码至JCenter