安卓搜索框SearchLayout的使用

implementation 'com.google.code.gson:gson:2.2.4'
implementation 'com.android.support:recyclerview-v7:27.1.0'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'org.xutils:xutils:3.3.36'
implementation 'com.squareup.picasso:picasso:2.3.2'
implementation 'com.android.support:design:27.1.1'
implementation 'com.carson_ho:SearchLayout:1.0.1'



public class MainActivity extends AppCompatActivity {
    ViewPager viewPager;
    TabLayout tabLayout;
    List<String> titles=new ArrayList<>();
    List<Fragment> data=new ArrayList<>();
    MyAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        viewPager=findViewById(R.id.viewpager);
        tabLayout=findViewById(R.id.tablayout);

        titles.add("xx");
        titles.add("xx");
        


        data.add(new yi());
        data.add(new er());
        


        adapter=new MyAdapter(getSupportFragmentManager());
        viewPager.setAdapter(adapter);
        tabLayout.setupWithViewPager(viewPager);
    }

    class MyAdapter extends FragmentPagerAdapter {

        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return data.get(position);
        }

        @Override
        public int getCount() {
            return data.size();
        }

        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return titles.get(position);
        }
    }
}



public class yi extends Fragment {

    private SearchView searchView;
    private ListView lv;
    private TextView tv;
    private List<String> mGoods;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate=inflater.inflate(R.layout.yi,container,false);
        searchView = inflate.findViewById(R.id.search_view);
        lv = inflate.findViewById(R.id.lv);
        tv = inflate.findViewById(R.id.tv_goods);
        initData();
        init();
        return inflate;
    }

    private void initData() {
        mGoods = new ArrayList<>();
        mGoods.add("商品1");
        mGoods.add("商品2");
        mGoods.add("商品3");
        mGoods.add("商品4");
        mGoods.add("商品5");
        mGoods.add("商品6");
        mGoods.add("商品7");
        mGoods.add("商品8");
        mGoods.add("商品9");
        mGoods.add("商品10");
        ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, mGoods);
        lv.setAdapter(adapter);
    }

    private void init() {

        searchView.setOnClickSearch(new ICallBack() {
            @Override
            public void SearchAciton(String string) {
                for (int i = 0; i < mGoods.size(); i++) {
                    if (string.equals(mGoods.get(i))){
                        lv.setVisibility(View.GONE);
                        tv.setVisibility(View.VISIBLE);
                        tv.setText(string);
                    }
                }
            }
        });

        // 5. 设置点击返回按键后的操作(通过回调接口)
        searchView.setOnClickBack(new bCallBack() {
            @Override
            public void BackAciton() {
                lv.setVisibility(View.VISIBLE);
                tv.setVisibility(View.GONE);
            }
        });

    }
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">

    <scut.carson_ho.searchview.SearchView
        android:id="@+id/search_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:textSizeSearch="5dp"
        app:textColorSearch="#3F51B5"
        app:textHintSearch="输入查询关键字"
        app:searchBlockHeight="56"
        app:searchBlockColor="#ffffff" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        >

        <TextView
            android:id="@+id/tv_goods"
            android:visibility="gone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />

        <ListView
            android:id="@+id/lv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </FrameLayout>



</LinearLayout>


猜你喜欢

转载自blog.csdn.net/qq_41326326/article/details/80187037
今日推荐