接上文,上文地址:https://blog.youkuaiyun.com/JiYaRuo/article/details/82285711
GitHup地址:https://github.com/JiYaRuo/LocalVagueSearchData
1. SearchNeighbourActivity类
/**
* Created by JiYaRuo.
* 好友搜索页面
*/
public class SearchActivity extends BaseActivity implements View.OnClickListener{
//返回按钮
private ImageView ivBack;
//搜索文本
private TextView btnSearch;
//搜索框
private EditText ev_search_friend;
//展示所搜索出来好友列表的rv
private RecyclerView rv_search_user;
//总的好友列表集合
private List<User> mNeighbourFriendItemTotalList;
//搜索出来的好友列表集合
private List<User> mSearchNeighbourFriendItemList = new ArrayList<>();
//搜索列表rv适配器
private SearchNeighbourRvAdapter searchNeighbourRvAdapter;
//输入法管理器
private InputMethodManager inputMethodManager;
@Override
protected void initUI() {
ScreenUtils.setStatusBarBackground(this);
setContentView(R.layout.activity_search);
try {
//获取所有联系人数据源集合
mNeighbourFriendItemTotalList = FriendSListActivity.mDatas;
//初始化输入法管理器
inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
//初始化控件
initView();
} catch (Exception e) {
}
}
/**初始化控件*/
private void initView() {
ivBack = findViewById(R.id.iv_back);
btnSearch = findViewById(R.id.btn_search_cancle);
ivBack.setOnClickListener(this);
btnSearch.setOnClickListener(this);
ev_search_friend = findViewById(R.id.ev_search_friend);
rv_search_user=findViewById(R.id.rv_search_user);
setAdapter();
ev_search_friend.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(!NetUtils.isConnected(SearchNeighbourActivity.this)){
ToastUtils.show("当前网络连接已经断开,请检查您的网络设置");
return false;
}
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
//先隐藏键盘
if (inputMethodManager.isActive()) {
inputMethodManager.hideSoftInputFromWindow(ev_search_friend.getApplicationWindowToken(), 0);
}
searchNeighbourRvAdapter.getFilter().filter(ev_search_friend.getText().toString()); // 当数据改变时,调用过滤器;