国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > 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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白朗县| 高雄县| 元朗区| 永城市| 静安区| 库车县| 城口县| 吉林省| 剑川县| 德安县| 定边县| 苗栗市| 通河县| 长沙县| 佛山市| 铜梁县| 虞城县| 宁夏| 临洮县| 安新县| 仙桃市| 保靖县| 双牌县| 巴马| 宿松县| 色达县| 四平市| 浦东新区| 曲麻莱县| 汉沽区| 化德县| 巴彦淖尔市| 临汾市| 塔河县| 永嘉县| 汽车| 鄱阳县| 共和县| 兴义市| 祥云县| 元阳县|