a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

Android簡單實現app每月簽到功能

2019-10-21 21:34:41
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現app每月簽到功能的具體代碼,供大家參考,具體內容如下

先上一張效果圖:

Android,app,每月簽到

其中這些簽到的效果圖是在網上找的,然后重要用到的控件就是 GridvVew 了, 代碼很簡單,只有3個代碼文件:

MainActivity.class 文件

 

package zhanghuan.cn.checkdesign; import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.GridView;import android.widget.TextView; import java.util.ArrayList;import java.util.Calendar;import java.util.List;import java.util.Locale; public class MainActivity extends AppCompatActivity { private List<CheckBean> checkBeanList; private MyAdapter mAdapter; private GridView mGridview; private TextView monthTxt;  @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  initDate(); }  private void initDate() {   Calendar calendar = Calendar.getInstance(Locale.CHINA);  int month = calendar.get(Calendar.MONTH) + 1;  int day = calendar.getActualMaximum(Calendar.DATE); // 獲取當前月的天數   checkBeanList = new ArrayList<CheckBean>();  for (int i = 0; i < day + 1; i++) {   CheckBean checkBean = new CheckBean();   if ((int) (Math.random() * 20 % 4) == 3) {    checkBean.day = i;    checkBean.check_status = CheckBean.CHECKED;   } else if ((int) (Math.random() * 20 % 4) == 2) {    checkBean.day = i;    checkBean.check_status = CheckBean.CHECK_NO;   } else {    checkBean.day = i;    checkBean.check_status = CheckBean.CHECK_WAIT;   }    checkBeanList.add(checkBean);  }   monthTxt = (TextView)findViewById(R.id.item_month);  if (month < 1 || month > 12) {   month = 1;  }  monthTxt.setText("當前簽到月份是:" + month);   mAdapter = new MyAdapter(MainActivity.this);  mAdapter.setListDate(checkBeanList);   mGridview = (GridView) findViewById(R.id.main_gridview);  mGridview.setAdapter(mAdapter); }}

適配器文件:MyAdapter.class 

package zhanghuan.cn.checkdesign; import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast; import java.util.List; /** * Created by zhanghuan on 2016/3/8. */public class MyAdapter extends BaseAdapter { private Context mContext; private List<CheckBean> checkBeanList;  public MyAdapter(Context context) {  mContext = context; }  public void setListDate(List<CheckBean> checklist) {  checkBeanList = checklist; }  @Override public int getCount() {  return checkBeanList.size(); }  @Override public Object getItem(int position) {  return checkBeanList.get(position); }  @Override public long getItemId(int position) {  return position; }  @Override public View getView(final int position, View convertView, ViewGroup parent) {  final MyHoder hoder;   if (convertView == null) {   convertView = LayoutInflater.from(mContext).inflate(R.layout.check_item, null);   hoder = new MyHoder();   hoder.day = (TextView) convertView.findViewById(R.id.item_day);   hoder.status = (ImageView) convertView.findViewById(R.id.item_image);   convertView.setTag(hoder);  } else {   hoder = (MyHoder) convertView.getTag();  }   hoder.day.setText("day" + checkBeanList.get(position).day);  if (checkBeanList.get(position).check_status == CheckBean.CHECK_NO) {   hoder.status.setImageResource(R.mipmap.check_no);   hoder.status.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {     Toast.makeText(mContext, "恭喜你,簽到成功!", Toast.LENGTH_SHORT).show();     hoder.status.setImageResource(R.mipmap.checked);     hoder.status.setClickable(false);     checkBeanList.get(position).check_status = CheckBean.CHECKED;     /* 在此做一些簽到請求的處理 */    }   });  } else if (checkBeanList.get(position).check_status == CheckBean.CHECK_WAIT) {   hoder.status.setImageResource(R.mipmap.check_wait);  } else if (checkBeanList.get(position).check_status == CheckBean.CHECKED) {   hoder.status.setImageResource(R.mipmap.checked);  }  return convertView; }  private static class MyHoder {  TextView day;  ImageView status; }}

CheckBean.class 文件:

package zhanghuan.cn.checkdesign; import java.io.Serializable; /** * Created by zhanghuan on 2016/3/8. */public class CheckBean implements Serializable { // 根據自己的需求可以做補簽的字段設置  public static final int CHECKED = 3; //已簽到 public static final int CHECK_NO = 2; //沒有簽到 public static final int CHECK_WAIT = 1; //等待簽到 (時間沒到無法簽到)  public int day; public int check_status;}

源代碼下載:點擊打開鏈接

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级91| 免费看的毛片 | 国产精品中文字幕在线播放 | 香蕉视频一级片 | 黄色毛片网站 | 日韩一区二区三区在线视频 | 成年人黄色免费视频 | 国产传媒在线观看 | 日本特黄 | 精品在线播放 | 色婷婷一区二区三区 | 中文字幕国产 | 国产精品久久久久久久久久免费看 | 日韩在线观看三区 | 色图综合 | 亚洲欧美国产一区二区 | 欧美日韩精品久久久 | 一本一生久久a久久精品综合蜜 | 国产精品一区二区免费看 | 免费黄色在线视频网址 | 久久免费看 | 国产一区二区三区在线免费观看 | 精品久久影院 | 国产精品久久久久久中文字 | 欧美三级不卡 | av一级久久 | 九九精品久久 | 欧美精品综合 | 成人区一区二区三区 | av片网站 | 毛片av片 | 中文字幕加勒比 | 欧美精品1区2区3区 亚洲区在线 | 成人免费crm在线观看 | 国产精品爱久久久久久久 | 欧美性18 | av高清在线免费观看 | av免费在线观看网址 | 久草成人网| 亚洲综合色视频在线观看 | 久久久久久久久久久久久久av |