返回顶部
首页 > 资讯 > 移动开发 >Android 表白墙
  • 481
分享到

Android 表白墙

Android 2022-06-06 13:06:53 481人浏览 泡泡鱼
摘要

前言:毕业设计没有需求,自己想需求,没什么太多想法,突然想起来有个渤大表白墙这个功能也不错,随便写一下。 具体就是一个弹窗插入数据,获取数据,在ListView中显示适配,下

前言:毕业设计没有需求,自己想需求,没什么太多想法,突然想起来有个渤大表白墙这个功能也不错,随便写一下。

具体就是一个弹窗插入数据,获取数据,在ListView中显示适配,下拉刷新。

public class ConfessionFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
    @BindView(R.id.msg_love_list)
    ListView msgListView;
    @BindView(R.id.refresh_love)
    SwipeRefreshLayout refreshLove;
    List mMsgLoveList = new ArrayList();
    MsgLoveAdapter mMsgLoveAdapter;
    public static Fragment getInstance() {
        Fragment fragment = new ConfessionFragment();
        return fragment;
    }
    @Override
    protected int contentViewID() {
        return R.layout.fragment_confession;
    }
    @Override
    protected void initialize() {
        EventBus.getDefault().reGISter(this);
        refreshLove.setOnRefreshListener(this);
        refreshLove.setColorSchemeColors(getResources().getColor(R.color.color_love));
        queryLoveMsg();
    }
    private void queryLoveMsg() {
        BmobQuery msgLoveBmobQuery = new BmobQuery();
        msgLoveBmobQuery.order("-createdAt");
        msgLoveBmobQuery.findObjects(new FindListener() {
            @Override
            public void done(List object, BmobException e) {
                if (e == null) {
                    mMsgLoveList = object;
                    mMsgLoveAdapter = new MsgLoveAdapter(getContext(), R.layout.item_confession, mMsgLoveList);
                    msgListView.setAdapter(mMsgLoveAdapter);
                } else {
                    ToastUtils.showShort(getContext(), getContext().getString(R.string.query_failure));
                }
            }
        });
    }
    @Override
    public void onRefresh() {
        queryLoveMsg();
        mMsgLoveAdapter.notifyDataSetChanged();
        refreshLove.setRefreshing(false);
    }
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onEvent(MessageEvent messageEvent) {
        switch (messageEvent.getMessage()) {
            case ConstantConfig.UPDATE_LOVE:
                onRefresh();
                break;
            default:
        }
    }
    @OnClick({R.id.btn_add_love})
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_add_love:
                DialogUtils.addLoveDialog(getContext());
                break;
            default:
        }
    }
    @Override
    public void onStop() {
        super.onStop();
        EventBus.getDefault().unregister(this);
    }
}
public class MsgLoveAdapter extends ArrayAdapter {
    public static final String TAG = "MsgLoveAdapter";
    List mMsgLoveList;
    private int resourceId;
    public MsgLoveAdapter(@NonNull Context context, int resource, @NonNull List objects) {
        super(context, resource, objects);
        resourceId = resource;
    }
    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        MsgLove msgLove = getItem(position);
        ViewHolder viewHolder;
        View view;
        if (convertView == null) {
            view = LayoutInflater.from(getContext()).inflate(resourceId, null);
            viewHolder = new ViewHolder();
            viewHolder.loveTo = view.findViewById(R.id.love_to);
            viewHolder.loveFrom = view.findViewById(R.id.love_from);
            viewHolder.loveContent = view.findViewById(R.id.love_content);
            view.setTag(viewHolder);
        } else {
            view = convertView;
            viewHolder = (ViewHolder) view.getTag();
        }
        viewHolder.loveTo.setText(msgLove.getTo());
        viewHolder.loveContent.setText(msgLove.getContent());
        viewHolder.loveFrom.setText(msgLove.getFrom());
        return view;
    }
    class ViewHolder {
        TextView loveTo;
        TextView loveFrom;
        TextView loveContent;
        SimpleDraweeView loveImg;
    }
}
public class DialogUtils {
    public static void addLoveDialog(Context context) {
        View view = LayoutInflater.from(context).inflate(R.layout.add_love_tip, null);
        EditText etLoveTo = view.findViewById(R.id.et_love_to);
        EditText etLoveFrom = view.findViewById(R.id.et_love_from);
        EditText etLoveSays = view.findViewById(R.id.et_love_says);
        Button btnLovePublish = view.findViewById(R.id.btn_love_publish);
        Button btnLoveCancel = view.findViewById(R.id.btn_love_cancel);
        final Dialog dialog = new AlertDialog.Builder(context)
                .setView(view)
                .setCancelable(true)
                .create();
        btnLovePublish.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (TextUtils.isEmpty(etLoveTo.getText().toString()) || TextUtils.isEmpty(etLoveFrom.getText().toString())
                || TextUtils.isEmpty(etLoveSays.getText().toString())){
                    ToastUtils.showShort(context,context.getString(R.string.tip_empty));
                    return;
                }
                MsgLove msgLove = new MsgLove();
                MyUser myUser = MyUser.getCurrentUser(MyUser.class);
                msgLove.setUsername(myUser.getUsername());
                msgLove.setTo(etLoveTo.getText().toString());
                msgLove.setFrom(etLoveFrom.getText().toString());
                msgLove.setContent(etLoveSays.getText().toString());
                msgLove.save(new SaveListener() {
                    @Override
                    public void done(String s, BmobException e) {
                        if (e == null) {
                            ToastUtils.showShort(context,context.getString(R.string.love_send));
                            EventBus.getDefault().post(new MessageEvent(ConstantConfig.UPDATE_LOVE));
                            dialog.dismiss();
                        } else {
                            ToastUtils.showShort(context,context.getString(R.string.love_fail));
                        }
                    }
                });
            }
        });
        btnLoveCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialog.dismiss();
            }
        });
        dialog.show();
    }
}



            

作者:江南233


--结束END--

本文标题: Android 表白墙

本文链接: https://lsjlt.com/news/29430.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android 表白墙
    前言:毕业设计没有需求,自己想需求,没什么太多想法,突然想起来有个渤大表白墙这个功能也不错,随便写一下。 具体就是一个弹窗插入数据,获取数据,在ListView中显示适配,下...
    99+
    2022-06-06
    Android
  • Java Servlet怎么实现表白墙
    本篇内容主要讲解“Java Servlet怎么实现表白墙”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java Servlet怎么实现表白墙”吧!一、表白墙简介在表白墙页面中...
    99+
    2023-07-05
  • Java Servlet实现表白墙的代码实例
    目录一、表白墙简介二、代码实现 1、约定前后端交互的接口2、后端代码实现3、前端代码实现  三、效果演示总结 一、表白墙简介 在表白墙页面中包...
    99+
    2023-02-21
    servlet 表白墙 表白墙代码制作 表白墙源代码
  • JavaWeb表白墙和在线相册怎么实现
    这篇文章主要介绍了JavaWeb表白墙和在线相册怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaWeb表白墙和在线相册怎么实现文章都会有所收获,下面我们一起来看看吧。一. 案例: 表白墙 (使用模...
    99+
    2023-07-05
  • 520到了,教你做个JavaWeb表白墙小项目
    目录 1.配置 Maven 项目 1.1 创建 Maven 项目 1.2 引入相关依赖 1.3 项目总结构 2. 约定前后端交互接口 3.服务端代码 3.1 创建Message类 3.2 创建工具类 3.3 添加信息类(AddMessage...
    99+
    2023-09-06
    maven java web 服务器 servlet
  • Win10防火墙白名单怎么设置?Win10加上防火墙白名单
    win10内置的防火墙作用可以为大家阻拦一些恶意程序的进攻,可是偶尔也会发生被防火墙给阻拦而不能一切正常安装程序的状况。只要我们能确定该软件的安全等级和安装的重要性,就可以采用防火墙白名单的方式允许安装。应用win键开启win10系统软件菜...
    99+
    2023-07-14
  • Linux防火墙添加白名单
    查看防火墙状态 systemctl status firewalld 开启防火墙 systemctl start firewalld.service 开机启动防火墙 systemctl enable firewalld.service 关闭...
    99+
    2023-10-28
    linux 服务器 网络
  • Pythonweb开发之用Tornado框架制作简易表白墙网站
    目录前言Tornado框架简单介绍Tornado框架优势Tornado框架缺点Tornado框架使用场景框架的组成开始先试下Tornado先导入本次要用的模块视图设置路由设置前端so...
    99+
    2024-04-02
  • Python中怎么用Tornado框架制作简易表白墙网站
    这篇文章主要介绍“Python中怎么用Tornado框架制作简易表白墙网站”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么用Tornado框架制作简易表白墙网站”文章能帮助大家解决问...
    99+
    2023-06-29
  • python的表白
    import turtle import time # 画爱心的顶部 def LittleHeart(): for i in range(200): turtle.right(1) t...
    99+
    2023-01-31
    python
  • redis防火墙如何设置白名单
    redis防火墙设置白名单的操作方法:登录redis提供商官网。打开redis控制面板。在左侧辅助功能列表中点击“白名单/免备案”。将需要添加白名单的域名或IP地址输入到对话框中,然后点击“添加白名单”即可。...
    99+
    2024-04-02
  • win10防火墙白名单如何设置
    本文小编为大家详细介绍“win10防火墙白名单如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10防火墙白名单如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win10防火墙白名单设置方法:点...
    99+
    2023-07-01
  • Ubuntu20.04防火墙设置简易教程(小白)
    前言   在现在这个网络越发便捷的社会,各种网络勒索病毒层出不穷,即使是Google浏览器也是在不断的更新版本修复漏洞。很多人认为只有Windows系统才容易中病毒,若使用linux系统就不容易中...
    99+
    2022-06-04
    Ubuntu20.04防火墙 Ubuntu 防火墙设置
  • Linux防火墙查看及白名单添加
    一、临时白名单添加,执行即生效,重启防火墙后失效 查看防火墙状态: service iptables status 查看白名单列表: sudo iptables -nL 添加白名单: sudo iptables -I INPUT -m st...
    99+
    2023-08-31
    linux 服务器 运维
  • python浪漫表白,表白代码——绘制3D玫瑰花
    马上520,python的表白代码要来啦,看过了2D,今天给大家分享一款3D玫瑰花的绘制代码,快快动动你的小手打开py文件,快去表白吧!! 直接上代码 from mpl_toolkits.mplot3d import Axes3Dfrom ...
    99+
    2023-10-20
    python 3d numpy
  • win10系统如何添加白名单到防火墙
    小编给大家分享一下win10系统如何添加白名单到防火墙,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、打开开始菜单,点击“设置”。二、进入Windows设置,打...
    99+
    2023-06-28
  • Python满屏表白代码
    系列文章  序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/a...
    99+
    2023-09-05
    python 爬虫 开发语言
  • Python编写表白神器!向你的女神告白
    马上就是七夕情人节了,送什么给你女神呢。鲜花什么的还不够!在写一个告白程序,向女神告白!让她看看你的爱意!哈哈哈哈! 程序和代码下载地址:点击下载 Python简介 Python是纯粹的自由软件, 源代码和解释器CPython...
    99+
    2023-01-31
    神器 告白 女神
  • python实现画桃心表白
    目录python画桃心表白下面是程序一行Python代码画心型1、画I组成的心型代码2、画Love组成的心型代码3、画You组成的心型代码4、画Raven组成的心型代码python画...
    99+
    2024-04-02
  • Python-表白小程序练习
    测试代码 在结果导向的今天,切勿眼高于顶,不论用任何方法能转换、拿出实际成果东西才是关键,即使一个制作很简易的程序,你想将其最终生成可运行的版本也是需要下一番功夫的。不要努力成为一个嘴炮成功者,要努力成为一个有价值的人。 # encodin...
    99+
    2023-09-30
    python 小程序 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作