package com.king.tv.mvp.fragment; import android.content.Context; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.king.base.util.StringUtils; import com.king.base.util.ToastUtils; import com.king.tv.R; import com.king.tv.mvp.base.BaseFragment; import com.king.tv.mvp.base.BasePresenter; import com.king.tv.mvp.base.BaseView; import butterknife.BindView; import butterknife.OnClick; /** * @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a> * @since 2017/5/9 */ public class SearchFragment extends BaseFragment<BaseView, BasePresenter<BaseView>> { @BindView(R.id.ivLeft) ImageView ivLeft; @BindView(R.id.etKey) EditText etKey; @BindView(R.id.tvRight) TextView tvRight; private LiveListFragment liveListFragment; public static SearchFragment newInstance() { Bundle args = new Bundle(); SearchFragment fragment = new SearchFragment(); fragment.setArguments(args); return fragment; } @Override public int getRootViewId() { return R.layout.fragment_search; } @Override public void initUI() { etKey.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_UP){ if(keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_SEARCH){ clickSearch(); return true; } } return false; } }); } @Override public void initData() { liveListFragment = LiveListFragment.newInstance(null,true); replaceChildFragment(R.id.fragment,liveListFragment); } @Override public BasePresenter createPresenter() { return new BasePresenter(getApp()); } /** * 隐藏软键盘 * * @param v */ public void hideInputMethod(final EditText v) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(),0); v.clearFocus(); } /** * 显示软键盘 * * @param v */ public void showInputMethod(final EditText v) { v.requestFocus(); InputMethodManager imm = (InputMethodManager)context .getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(v,InputMethodManager.SHOW_IMPLICIT); } private boolean checkInputKey(){ if(StringUtils.isBlank(etKey.getText())){ ToastUtils.showToast(context,R.string.tips_search_keywords_cannot_be_empty); return false; } return true; } private void clickSearch(){ if(checkInputKey()){ hideInputMethod(etKey); liveListFragment.search(etKey.getText().toString(),0); } } @OnClick({R.id.ivLeft, R.id.tvRight}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.ivLeft: finish(); break; case R.id.tvRight: clickSearch(); break; } } }