Esempio n. 1
0
 @Override
 public void beforeOnLyaout() {
   if (mCategoryAdapter.hasItemViewBound && !mIsFakeSearchViewPositioned) {
     mListView.setOnLayoutListener(null);
     mIsFakeSearchViewPositioned = true;
     mListView.setSelectionFromTop(
         TRUE_DATA_ITEM_IDX,
         mTopView.getHeight()
             - (int)
                 ShopApp.getContext()
                     .getResources()
                     .getDimension(R.dimen.fake_search_layout_diff));
   }
 }
Esempio n. 2
0
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.category_fragment, container, false);
    mFakeBg = view.findViewById(R.id.fake_bg);
    mListView = (BaseListView) view.findViewById(android.R.id.list);
    int listPadding =
        (int) ShopApp.getContext().getResources().getDimension(R.dimen.list_item_padding);
    mListView.setPadding(0, listPadding / 2, 0, listPadding);
    mSearchUi = view.findViewById(R.id.search_ui);
    mSearchUi.setOnClickListener(mSearchClickListener);

    mTopView = inflater.inflate(R.layout.fake_top_for_search, null);
    mTopViewContent = mTopView.findViewById(R.id.top_view_content);
    mTopViewContent.setBackgroundColor(
        ShopApp.getContext().getResources().getColor(R.color.fake_search_background));
    mListView.addHeaderView(mTopView);

    mFakeSearchView = inflater.inflate(R.layout.fake_search_view, null);
    mIsFakeSearchViewPositioned = false;
    View fakeInput = mFakeSearchView.findViewById(R.id.fake_input);
    fakeInput.setOnClickListener(mSearchClickListener);
    View fakeButton = mFakeSearchView.findViewById(R.id.fake_button);
    fakeButton.setOnClickListener(mSearchClickListener);
    mFakeSearchView.setBackgroundColor(
        ShopApp.getContext().getResources().getColor(R.color.fake_search_background));
    mListView.addHeaderView(mFakeSearchView);
    mListView.setOnLayoutListener(this);

    mCategoryAdapter = new CategoryAdapter(getActivity());
    mCategoryListAdapter =
        new CategoryListAdapter(getActivity(), mCategoryAdapter, mItemClickListner);
    mListView.setAdapter(mCategoryListAdapter);
    ArrayList<Object> data = new ArrayList<Object>();
    data.add(1);
    mCategoryListAdapter.updateData(data);

    mSearchButton = mSearchUi.findViewById(R.id.search_button);
    mSearchButton.setOnClickListener(mSearchClickListener);
    mInput = (AutoCompleteTextView) mSearchUi.findViewById(R.id.input);
    mInput.setOnEditorActionListener(
        new OnEditorActionListener() {
          @Override
          public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {
              mSearchButton.performClick();
              return true;
            }
            return false;
          }
        });
    mInput.addTextChangedListener(
        new TextWatcher() {

          @Override
          public void onTextChanged(CharSequence s, int start, int before, int count) {}

          @Override
          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          @Override
          public void afterTextChanged(Editable s) {
            loadHint();
          }
        });
    mSearchEmptyArea = mSearchUi.findViewById(R.id.empty_area);
    mSearchEmptyArea.setOnClickListener(mSearchClickListener);
    mSearchHintListView = (ListView) mSearchEmptyArea.findViewById(android.R.id.list);
    mSearchHintListView.addHeaderView(inflater.inflate(R.layout.search_hint_list_top, null));
    mSearchHintListAdapter = new SearchHintListAdapter(getActivity());
    mSearchHintListView.setAdapter(mSearchHintListAdapter);
    mSearchHintListView.setOnItemClickListener(
        new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> parent, View view, int positon, long id) {
            View v = view.findViewById(R.id.word);
            if (v != null && v instanceof TextView) {
              doSearch(((TextView) v).getText().toString());
            }
          }
        });

    mLoadingView = (EmptyLoadingView) view.findViewById(R.id.loading);

    return view;
  }