package com.cheikh.lazywaimai.ui.fragment; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.cheikh.lazywaimai.R; import com.cheikh.lazywaimai.base.BaseController; import com.cheikh.lazywaimai.base.BaseFragment; import com.cheikh.lazywaimai.context.AppContext; import com.cheikh.lazywaimai.controller.UserController; import com.cheikh.lazywaimai.model.bean.ResponseError; import com.cheikh.lazywaimai.ui.Display; import com.cheikh.lazywaimai.util.ContentView; import com.cheikh.lazywaimai.util.StringUtil; import com.cheikh.lazywaimai.util.SystemUtil; import com.cheikh.lazywaimai.util.ToastUtil; import butterknife.Bind; import butterknife.OnClick; import butterknife.OnTextChanged; /** * author: cheikh.wang on 17/1/12 * email: wanghonghi@126.com */ @ContentView(R.layout.fragment_set_nickname) public class SetNicknameFragment extends BaseFragment<UserController.UserUiCallbacks> implements UserController.UserNicknameUi { @Bind(R.id.edit_content) EditText mContentEdit; @Bind(R.id.btn_clear) ImageView mClearBtn; @Bind(R.id.btn_save) TextView mSaveBtn; @Override protected BaseController getController() { return AppContext.getContext().getMainController().getUserController(); } @Override protected String getTitle() { return getString(R.string.title_set_nickname); } @OnTextChanged(R.id.edit_content) public void onContentTextChange(CharSequence s) { int visible = StringUtil.isEmpty(s.toString()) ? View.GONE : View.VISIBLE; mClearBtn.setVisibility(visible); } @Override public void onSetNicknameFinish() { cancelLoading(); ToastUtil.showToast(R.string.toast_success_set_nickname); // 关闭当前页面 Display display = getDisplay(); if (display != null) { display.popTopFragmentBackStack(); } } @Override public void onResponseError(ResponseError error) { cancelLoading(); ToastUtil.showToast(error); } @OnClick({R.id.btn_clear, R.id.btn_save}) public void onClick(View view) { switch (view.getId()) { case R.id.btn_clear: mContentEdit.setText(""); break; case R.id.btn_save: saveUserName(); break; } } /** * 执行设置昵称的操作 */ private void saveUserName() { // 隐藏软键盘 SystemUtil.hideKeyBoard(getContext()); // 验证昵称是否为空 final String nickname = mContentEdit.getText().toString().trim(); if (TextUtils.isEmpty(nickname)) { ToastUtil.showToast(R.string.toast_error_empty_nickname); return; } // 禁用保存按钮,避免重复点击 mSaveBtn.setEnabled(false); // 显示提示对话框 showLoading(R.string.label_being_something); // 发起设置昵称的网络请求 getCallbacks().setNickname(nickname); } }