我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 表白墙

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 表白墙

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

具体就是一个弹窗插入数据,获取数据,在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


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 表白墙

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 表白墙

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

Java Servlet怎么实现表白墙

本篇内容主要讲解“Java Servlet怎么实现表白墙”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java Servlet怎么实现表白墙”吧!一、表白墙简介在表白墙页面中包含三个文本框,分别
2023-07-05

Java Servlet实现表白墙的代码实例

最近用Servlet做了个小项目,分享给大家,下面这篇文章主要给大家介绍了关于Java Servlet实现表白墙的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-21

JavaWeb表白墙和在线相册怎么实现

这篇文章主要介绍了JavaWeb表白墙和在线相册怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaWeb表白墙和在线相册怎么实现文章都会有所收获,下面我们一起来看看吧。一. 案例: 表白墙 (使用模
2023-07-05

Win10防火墙白名单怎么设置?Win10加上防火墙白名单

win10内置的防火墙作用可以为大家阻拦一些恶意程序的进攻,可是偶尔也会发生被防火墙给阻拦而不能一切正常安装程序的状况。只要我们能确定该软件的安全等级和安装的重要性,就可以采用防火墙白名单的方式允许安装。1、应用win键开启win10系统软
2023-07-14

Python中怎么用Tornado框架制作简易表白墙网站

这篇文章主要介绍“Python中怎么用Tornado框架制作简易表白墙网站”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么用Tornado框架制作简易表白墙网站”文章能帮助大家解决问
2023-06-29

python的表白

import turtleimport time# 画爱心的顶部def LittleHeart(): for i in range(200): turtle.right(1) turtle.forward(
2023-01-31

win10防火墙白名单如何设置

本文小编为大家详细介绍“win10防火墙白名单如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10防火墙白名单如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win10防火墙白名单设置方法:1
2023-07-01

Ubuntu20.04防火墙设置简易教程(小白)

前言 在现在这个网络越发便捷的社会,各种网络勒索病毒层出不穷,即使是Google浏览器也是在不断的更新版本修复漏洞。很多人认为只有Windows系统才容易中病毒,若使用linux系统就不容易中病毒,经常让自己的电脑裸奔运行,既不装杀毒软件,
2022-06-04

win10系统如何添加白名单到防火墙

小编给大家分享一下win10系统如何添加白名单到防火墙,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、打开开始菜单,点击“设置”。二、进入Windows设置,打
2023-06-28

Python编写表白神器!向你的女神告白

马上就是七夕情人节了,送什么给你女神呢。鲜花什么的还不够!在写一个告白程序,向女神告白!让她看看你的爱意!哈哈哈哈!程序和代码下载地址:点击下载 Python简介Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GN
2023-01-31

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录