博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android控件Gridview实现多个menu模块,可添加可删除
阅读量:6930 次
发布时间:2019-06-27

本文共 5079 字,大约阅读时间需要 16 分钟。

  hot3.png

此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能;Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局。

效果图:

           

 

自定义GridView

首页代码

/** * 首页 */public class HomeFragment extends Fragment implements  View.OnClickListener {    private View view;    private TextView tv_sign;    private Intent intent;    private ZQScrollGridView gridView;    private static HomeAdapter adapter;    public static List
listPosition; public static List
list; private static ACache aCache; private Context context; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_home, container, false); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); view = getView(); aCache = ACache.get(getActivity()); context = getActivity(); initView(); } public void initView() { tv_sign = (TextView) view.findViewById(R.id.home_sign); tv_sign.setOnClickListener(this); gridView = (ZQScrollGridView) view.findViewById(R.id.home_gridview); onLoad(); } public void onLoad() { adapter = new HomeAdapter(getActivity()); gridView.setAdapter(adapter); gridView.setOnItemClickListener(onItemClickListener); gridView.setOnItemLongClickListener(onItemLongClickListener); showData(); } /***** * 刷新数据 */ private void notifyData() { adapter.notifyDataSetChanged(); } @Override public void onClick(View v) { switch (v.getId()) { } } public Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 1) { showLongClick(false); } else if (msg.what == 2)//删除 { showDelete(); } } }; AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView
parent, View view, int position, long id) { if (position == (listPosition.size() - 1)) { intent = new Intent(getActivity(), SearchActivity.class); intent.putExtra("list", (Serializable) listPosition); startActivityForResult(intent, 1); } else { } } }; AdapterView.OnItemLongClickListener onItemLongClickListener = new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView
parent, View view, int position, long id) { if (position == (listPosition.size() - 1)) { return false; } showLongClick(true); Message msg = new Message(); msg.what = 1;// 删除 msg.obj = 1; LoginFragmentActivity.handler.sendMessage(msg); return false; } }; @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) { if (resultCode == 1) { if (data.getStringExtra("key").equals("2")) { listPosition.clear(); listPosition = HomeData.POSITION(aCache); notifyData(); } } } } private void showData() { listPosition = HomeData.POSITION(aCache); list = new ArrayList
(); for (int i = 0; i < 34; i++) { UserBean user = new UserBean(HomeData.IMG[i], HomeData.TITLE[i], false, false); list.add(user); } notifyData(); } /*** * 删除 */ private void showDelete() { //删除缓存 String home = ""; for (int i = 0; i < listPosition.size() - 1; i++) { UserBean userBean = list.get(listPosition.get(i)); if (!userBean.isCheck()) { home += listPosition.get(i) + ","; } } aCache.remove("home"); listPosition.clear(); try { UtilFileDB.ADDFile(aCache, "home", home.substring(0, (home.length() - 1))); if (listPosition == null || listPosition.size() <= 1) { listPosition = HomeData.POSITION(aCache); } } catch (Exception e) { listPosition.add((list.size()-1));//只留加号 } showLongClick(false); } /**** * 重新刷新数据 * * @param isvisibility */ private void showLongClick(boolean isvisibility) { list.clear(); for (int i = 0; i < 34; i++) { UserBean user = new UserBean(HomeData.IMG[i], HomeData.TITLE[i], false, isvisibility); list.add(user); } HomeFragment.list.get(33).setIsvisibility(false); notifyData(); }}

 

由于代码太多未完全给出,源码直接下载即可(点击下载)

源码点击下载:

转载于:https://my.oschina.net/zhangqie/blog/809466

你可能感兴趣的文章
Cracking the coding interview--Q1.2
查看>>
Permission denied: user=root, access=WRITE, inode="/":hadoopuser:supergroup:drwxr-xr-x
查看>>
p-unit - 单元级别开源性能测试框架
查看>>
WinForm 实现两个容器之间控件的拖动及排列(图文)
查看>>
C/C++版数据结构之链表<三>
查看>>
CentOS下实现postgresql开机自启动
查看>>
libxml解析的attributes参数理解
查看>>
VK Cup 2012 Qualification Round 1 E. Phone Talks
查看>>
volcanol_Linux_问题汇总系列_1_系统引导过程中到check filesystem时就无法继续引导问题解决方法。...
查看>>
XP局域网访问无权限、不能互相访问问题的完整解决方案
查看>>
使用xml布局菜单
查看>>
我的大学四年
查看>>
编译可在Android上运行的qemu user mode
查看>>
职业规划
查看>>
局域网通知系统(消息群发)
查看>>
Linux启动界面切换:图形界面-字符界面(转)
查看>>
ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
|DataDirectory|的使用
查看>>
01 背包问题 --- 待续 - -
查看>>
(转)oracle 11g安装后用户名忘记怎么办
查看>>