首页 > Web开发 > 详细

上传信息逻辑

时间:2015-10-31 18:36:44      阅读:329      评论:0      收藏:0      [点我收藏+]

上传信息是很常见的逻辑, 在代码中要仔细处理好这些问题, 否则会带来很多问题. 如反馈页面, 属于一次发送, 发送时只发送一次, 发送后直接关闭退出.

1. 背景图片

把按钮的图片设置为根据enable状态进行修改.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/icon_send_on" android:state_enabled="true"/>
    <item android:drawable="@drawable/icon_send_off" android:state_enabled="false"/>
</selector>

2. 监听内容

在用户未进行输入, 即初始化时, 输入按钮设置enable为false, 即锁定.

mActionBarController.setIVRightEnable(false); // 初始提交时锁定

监听文字输入, 如果有, 则设置为true, 否则, 为false.

    // 设置文字内容监听
    mETContent.addTextChangedListener(getNoBlankTextWatcher());
    ...
    /**
     * EditText输入监听,字数大于0时,发送按钮变亮,显示可以发送;等于0时,按钮变暗,显示不可发送
     */
    private TextWatcher getNoBlankTextWatcher() {
        return new TextWatcher() {
            @Override
            public void beforeTextChanged(
                    CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(
                    CharSequence s, int start, int before, int count) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                if (s.length() > 0) {
                    mActionBarController.setIVRightEnable(true);
                } else {
                    mActionBarController.setIVRightEnable(false);
                }
            }
        };
    }

3. 上传锁定

在用户上传之前, 需要锁定状态, 防止多次发送, 同时有内容时才会发送.

    private View.OnClickListener getClickSendListener() {
        return v -> {
            String content = mETContent.getText().toString();
            if (!TextUtils.isEmpty(content)) {
                mActionBarController.setIVRightEnable(false); // 锁定按钮
                checkImagesAndSend();
            }
        };
    }

4. 发送成功

发送成功时, 解锁发送按钮; 一次发送时, 则关闭当前页面即可.

效果图
技术分享

OK, 就这些了, 写代码时认真检查吧.

版权声明:本文为博主原创文章,未经博主允许不得转载。

上传信息逻辑

原文:http://blog.csdn.net/caroline_wendy/article/details/49534867

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!