自定义view属性动画 获取异常捕获 recyclerview上刷下加
来源:互联网 发布:淘宝宠物店铺介绍 编辑:程序博客网 时间:2024/06/07 06:50
主方法
public class MainActivity extends AppCompatActivity { XRecyclerView recyclerView; List<Data.DataBean> list = new ArrayList<>(); private MyAdapter adapter; int page=1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); loadView(); loadData(); recyclerView = (XRecyclerView) findViewById(R.id.xrecycleview); LinearLayoutManager layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); adapter = new MyAdapter(this,list); recyclerView.setAdapter(adapter); SpacesItemDecoration decoration = new SpacesItemDecoration(16); recyclerView.addItemDecoration(decoration); recyclerView.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); recyclerView.setLoadingMoreProgressStyle(ProgressStyle.BallRotate); recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { adapter.notifyDataSetChanged(); recyclerView.refreshComplete(); } },1000); } @Override public void onLoadMore() { new Handler().postDelayed(new Runnable() { @Override public void run() { page++; loadView(); recyclerView.loadMoreComplete(); } },1000); } }); adapter.setListener(new MyAdapter.OnItemClickListener() { @Override public void OnItemClickListener(View view, int position) { Intent intent = new Intent(MainActivity.this, TwoActivity.class); startActivity(intent); Toast.makeText(MainActivity.this,list.get(position).getIntroduction(),Toast.LENGTH_SHORT).show(); } }); } private void loadData() { if(isNetworkConnected(this)){ Toast.makeText(this,"有网",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this,"没网",Toast.LENGTH_SHORT).show(); laodMei(); } } public void laodMei() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage("没有网络 是否连接网络"); builder.setTitle("提示"); builder.setPositiveButton("确认",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS"); startActivity(wifiSettingsIntent); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); } }); builder.create().show(); } public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } private void loadView() { String url = "http://www.yulin520.com/a2a/impressApi/news/mergeList?sign=C7548DE604BCB8A17592EFB9006F9265&pageSize=20&gender=2&ts=1871746850&page="+page; HttpUrl.sendOkHttpRequest(url, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { Data data = new Gson().fromJson(response.body().string(), Data.class); list.addAll(data.getData()); Log.e("onResponse", "onResponse"+data.toString()); } }); }}
适配器
public class MyAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> implements View.OnClickListener { Context context; List<Data.DataBean> list; OnItemClickListener listener; public MyAdapter(Context context, List<Data.DataBean> list) { this.context = context; this.list = list; } public void setListener(OnItemClickListener listener) { this.listener = listener; } @Override public XRecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false); view.setOnClickListener(this); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(XRecyclerView.ViewHolder holder, int position) { ViewHolder ho = (ViewHolder) holder; Glide.with(context).load(list.get(position).getUserImg()).into(ho.images); ho.name.setText(list.get(position).getTitle()); ho.ages.setText(""+list.get(position).getUserAge()); ho.work.setText(list.get(position).getOccupation()); ho.conts.setText(list.get(position).getIntroduction()); ho.itemView.setTag(position); Animation animation = new AlphaAnimation(0.1f, 1.0f); animation.setDuration(5000); ((ViewHolder) holder).images.setAnimation(animation); } @Override public int getItemCount() { return list == null ? 0 : list.size(); } public static class ViewHolder extends XRecyclerView.ViewHolder { ImageView images; TextView name,ages, work, conts; public ViewHolder(View itemView) { super(itemView); images = itemView.findViewById(R.id.image); name = itemView.findViewById(R.id.name); ages = itemView.findViewById(R.id.age); work = itemView.findViewById(R.id.job); conts = itemView.findViewById(R.id.cont); } } @Override public void onClick(View view) { if (listener!=null){ listener.OnItemClickListener(view, (Integer) view.getTag()); } } public interface OnItemClickListener{ void OnItemClickListener(View view,int position); }}
recyclerview 属性分割线
public class SpacesItemDecoration extends XRecyclerView.ItemDecoration{ private int space; public SpacesItemDecoration(int space) { this.space = space; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { outRect.left=space; outRect.right = space; outRect.bottom=space; if(parent.getChildAdapterPosition(view)==0){ outRect.top = space; } }}
阅读全文
0 0
- 自定义view属性动画 获取异常捕获 recyclerview上刷下加
- 属性动画:如何自定义View
- 自定义view加属性动画
- 自定义view画圆加属性动画
- 自定义view+属性动画实现
- 自定义View-获取自定义属性
- Android自定义view之属性动画初见
- 自定义view实心圆加属性动画
- 自定义view圆加属性动画
- Android自定义View获取自定义属性
- 自定义View(一):自定义属性获取
- Android自定义捕获异常
- 自定义全局异常捕获
- 自定义全局异常捕获
- 自定义异常捕获-CrashHandler
- 自定义捕获异常
- 自定义捕获全局异常
- 自定义捕获全局异常
- 大数据处理框架分类与选择
- List与ArrayList
- iOS
- 错误记录:illegal to have multiple occurrences of contentType with different values
- 设置div滚动条样式
- 自定义view属性动画 获取异常捕获 recyclerview上刷下加
- JQuery中Ajax的操作
- angular表格单个字段查询,修改,添加
- xlistivew+数据展示+进入详情+圆角图片
- ViewPager+侧滑+无线轮播
- Python 3.0最简单的爬虫
- RNN-循环神经网络和LSTM_01基础
- js限制input输入
- OCILIB 连接Oracle数据库——插入数据