package com.lzx.lock.widget; import android.animation.AnimatorSet; import android.content.Context; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.TextWatcher; import android.view.Gravity; import android.widget.EditText; import com.lzx.lock.R; import com.lzx.lock.adapter.MainAdapter; import com.lzx.lock.bean.CommLockInfo; import com.lzx.lock.mvp.contract.LockMainContract; import com.lzx.lock.mvp.p.LockMainPresenter; import java.util.ArrayList; import java.util.List; /** * Created by xian on 2017/3/4. */ public class DialogSearch extends BaseDialog implements LockMainContract.View { private Context mContext; private EditText mEditSearch; private RecyclerView mRecyclerView; private MainAdapter mMainAdapter; private LockMainPresenter mLockMainPresenter; public DialogSearch(Context context) { super(context); mContext = context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().getAttributes().gravity = Gravity.TOP; } @Override protected float setWidthScale() { return 1; } @Override protected AnimatorSet setEnterAnim() { return null; } @Override protected AnimatorSet setExitAnim() { return null; } @Override protected void init() { mLockMainPresenter = new LockMainPresenter(this, mContext); mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mEditSearch = (EditText) findViewById(R.id.edit_search); mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext)); mMainAdapter = new MainAdapter(mContext); mRecyclerView.setAdapter(mMainAdapter); mEditSearch.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void afterTextChanged(Editable editable) { if (editable.length() == 0) { mMainAdapter.setLockInfos(new ArrayList<CommLockInfo>()); } else { mLockMainPresenter.searchAppInfo(editable.toString(), new LockMainPresenter.ISearchResultListener() { @Override public void onSearchResult(List<CommLockInfo> commLockInfos) { mMainAdapter.setLockInfos(commLockInfos); } }); } } }); } @Override protected int getContentViewId() { return R.layout.dialog_search; } @Override public void loadAppInfoSuccess(List<CommLockInfo> list) { } }