上传信息逻辑

来源:互联网 时间:1970-01-01

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

1. 背景图片

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

[code]<?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, 即锁定.

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


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

[code] // 设置文字内容监听 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. 上传锁定

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

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


4. 发送成功

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

效果图



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



相关阅读:
Top