搜索的布局
<LinearLayout
 
    xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     tools:context="com.example.week3.view.Activity.MainActivity">

     <android.support.v7.widget.Toolbar
         android:fitsSystemWindows="true"
         android:layout_height="80dp"
         android:layout_width="match_parent"
         android:layout_marginTop="20dp"
         android:layout_marginLeft="-10dp"
         >
         <LinearLayout

             android:id="@+id/ll_head"
             android:layout_alignParentTop="true"
             android:gravity="center_vertical"
             android:layout_width="match_parent"
             android:layout_height="match_parent">
             <LinearLayout
                 android:gravity="center"
                 android:orientation="vertical"
                 android:layout_width="wrap_content"
                 android:layout_marginRight="10dp"
                 android:layout_height="match_parent">
                 <ImageView
                     android:id="@+id/sousuofan"
                     android:layout_width="30dp"
                     android:layout_height="25dp"
                     android:src="@drawable/icon_back"
                     />

             </LinearLayout>
             <LinearLayout
                 android:padding="5dp"
                 android:background="@drawable/search_bg"
                 android:layout_weight="1"
                 android:layout_width="0dp"
                 android:gravity="center_vertical"
                 android:layout_height="40dp">
                 <ImageView

                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:src="@drawable/search_icon2"
                     />
                 <EditText
                     android:layout_weight="1"
                     android:padding="2dp"
                     android:layout_width="0dp"
                     android:textSize="18dp"
                     android:layout_height="wrap_content"
                     android:hint="都市丽人领劵满399减200"
                     android:background="@null"
                     android:id="@+id/sousuozhi"
                     />
                 <ImageView

                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:src="@drawable/root"
                     />
             </LinearLayout>


             <LinearLayout
                 android:padding="5dp"
                 android:gravity="center"
                 android:orientation="vertical"
                 android:layout_marginRight="15dp"
                 android:layout_width="wrap_content"
                 android:layout_height="match_parent">
                 <TextView
                     android:id="@+id/sousuobut"
                     android:textSize="18dp"
                     android:paddingTop="3dp"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="搜索"
                     />
             </LinearLayout>
         </LinearLayout>
     </android.support.v7.widget.Toolbar>
     <TextView
         android:layout_width="match_parent"
         android:layout_height="1px"
         android:background="#B9C0C5"/>
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
         android:id="@+id/flowReSou"
         >
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="热搜"
             android:textColor="#000"
             android:textSize="20dp"
             android:layout_marginTop="15dp"
             android:layout_marginLeft="10dp"
             android:layout_marginBottom="10dp"
             />
         <com.example.week3.moudle.helper.FlowLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:id="@+id/myflowLayout"
             ></com.example.week3.moudle.helper.FlowLayout>

     </LinearLayout>
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
         android:id="@+id/lishiSouSuo"
         android:visibility="gone"
         >
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:orientation="vertical"
             android:layout_weight="1.5">
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="热搜"
                 android:textColor="#000"
                 android:textSize="20dp"
                 android:layout_marginTop="15dp"
                 android:layout_marginLeft="10dp"
                 android:layout_marginBottom="10dp"
                 />
             <android.support.v7.widget.RecyclerView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:id="@+id/resouRecyclerView"
                 ></android.support.v7.widget.RecyclerView>
         </LinearLayout>
         <TextView
             android:layout_width="match_parent"
             android:layout_height="4px"
             android:background="#B9C0C5"/>
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_weight="8.5"
             android:orientation="vertical"
             >
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="历史搜索"
                 android:textColor="#000"
                 android:textSize="20dp"
                 android:layout_marginTop="15dp"
                 android:layout_marginLeft="10dp"
                 android:layout_marginBottom="10dp"
                 />
             <com.example.week3.moudle.helper.MyListView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:id="@+id/sousuolv"
                 android:layout_marginLeft="10dp"
                 ></com.example.week3.moudle.helper.MyListView>
             <Button
                 android:layout_marginTop="60dp"
                 android:layout_width="350dp"
                 android:layout_height="45dp"
                 android:text="清空历史搜索"
                 android:onClick="sousuoqingkong"
                 android:layout_gravity="center"/>
         </LinearLayout>

     </LinearLayout>

 </LinearLayout>
 
显示的布局
<android.support.v4.widget.DrawerLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:id="@+id/souxiangDrawerLayout"
     tools:context="com.example.week3.view.Activity.SouSuoShow">

     <com.example.week3.moudle.helper.MyScrollView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:id="@+id/souxiangScrollView"
         >
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="vertical">
             <!--头部-->
             <LinearLayout
                 android:layout_alignParentTop="true"
                 android:gravity="center_vertical"
                 android:layout_width="match_parent"
                 android:layout_height="80dp">
                 <LinearLayout
                     android:gravity="center"
                     android:orientation="vertical"
                     android:layout_width="wrap_content"
                     android:layout_marginRight="10dp"
                     android:layout_height="match_parent">
                     <ImageView
                         android:id="@+id/souxiangfan"
                         android:layout_width="30dp"
                         android:layout_height="25dp"
                         android:src="@drawable/icon_back"
                         />

                 </LinearLayout>
                 <LinearLayout
                     android:padding="5dp"
                     android:background="@drawable/search_bg"
                     android:layout_weight="1"
                     android:layout_width="0dp"
                     android:gravity="center_vertical"
                     android:id="@+id/souxiangsousuo"
                     android:layout_height="40dp">
                     <ImageView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:src="@drawable/search_icon2"
                         />
                     <TextView
                         android:layout_weight="1"
                         android:padding="2dp"
                         android:layout_width="0dp"
                         android:textSize="18dp"
                         android:layout_height="wrap_content"
                         android:text="都市丽人领劵满399减200"
                         android:background="@null"
                         android:id="@+id/souxiangkeywords"
                         />
                     <ImageView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:src="@drawable/root"
                         />
                 </LinearLayout>


                 <LinearLayout
                     android:padding="5dp"
                     android:gravity="center"
                     android:orientation="vertical"
                     android:layout_marginRight="15dp"
                     android:layout_width="wrap_content"
                     android:layout_height="match_parent">
                     <ImageView
                         android:id="@+id/souxiangGeShi"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:background="@drawable/biaoge"
                         />
                 </LinearLayout>
             </LinearLayout>

             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:background="#B9C0C5"/>
             <!--排序按钮-->
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="60dp">
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent">
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="match_parent"
                         android:gravity="center"
                         android:text="综合"
                         android:id="@+id/souxiangzong"
                         android:textSize="20dp"
                         android:textColor="#F00"/>
                     <TextView
                         android:id="@+id/souxiangzongDown"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:text="▼"
                         android:textColor="#F00"/>
                 </LinearLayout>

                 <TextView
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent"
                     android:text="销量"
                     android:textSize="20dp"
                     android:id="@+id/souxiangxiao"
                     android:textColor="#000"/>
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:layout_height="match_parent"
                     android:gravity="center"

                     >
                     <TextView
                         android:layout_width="wrap_content"
                         android:gravity="center"
                         android:layout_height="match_parent"
                         android:text="价格"
                         android:id="@+id/souxiangjiage"
                         android:textSize="20dp"
                         android:textColor="#000"/>
                     <LinearLayout
                         android:layout_width="wrap_content"
                         android:layout_height="match_parent"
                         android:orientation="vertical"
                         android:gravity="center"
                         android:layout_marginLeft="5dp"
                         >
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:textColor="#F00"
                             android:text="▲"
                             android:id="@+id/souxiangjiageUp"
                             />
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:textColor="#000"
                             android:text="▼"
                             android:id="@+id/souxiangjiageDown"
                             android:layout_marginTop="-15dp"
                             />
                     </LinearLayout>
                 </LinearLayout>

                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"

                     android:layout_height="match_parent">
                     <TextView
                         android:layout_width="wrap_content"
                         android:gravity="center"
                         android:layout_height="match_parent"
                         android:text="筛选"
                         android:id="@+id/souxiangshuai"
                         android:textSize="20dp"
                         android:textColor="#F00"/>
                     <ImageView
                         android:layout_width="15dp"
                         android:layout_height="15dp"
                         android:background="@drawable/shaixuan"/>
                 </LinearLayout>

             </LinearLayout>
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:background="#B9C0C5"/>

             <!--活动按钮-->
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="60dp"
                 >
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent">
                     <LinearLayout
                         android:layout_width="90dp"
                         android:layout_height="30dp"
                         android:background="@drawable/souxiangkuang"
                         android:gravity="center">
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="match_parent"
                             android:text="12.12"
                             android:gravity="center"
                             android:textColor="#F00"/>
                     </LinearLayout>
                 </LinearLayout>
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent">
                     <LinearLayout
                         android:layout_width="90dp"
                         android:layout_height="30dp"
                         android:background="@drawable/souxiangkuang"
                         android:gravity="center">
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="match_parent"
                             android:text="送到家"
                             android:gravity="center"
                             android:textColor="#000"/>
                     </LinearLayout>
                 </LinearLayout>
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent">
                     <LinearLayout
                         android:layout_width="90dp"
                         android:layout_height="30dp"
                         android:background="@drawable/souxiangkuang"
                         android:gravity="center">
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="match_parent"
                             android:text="品牌"
                             android:gravity="center"
                             android:textColor="#000"/>
                         <ImageView
                             android:layout_width="10dp"
                             android:layout_height="8dp"
                             android:background="@drawable/down"
                             android:layout_marginLeft="5dp"/>
                     </LinearLayout>

                 </LinearLayout>
                 <LinearLayout
                     android:layout_width="0dp"
                     android:layout_weight="1"
                     android:gravity="center"
                     android:layout_height="match_parent">
                     <LinearLayout
                         android:layout_width="90dp"
                         android:layout_height="30dp"
                         android:background="@drawable/souxiangkuang"
                         android:gravity="center">
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="match_parent"
                             android:text="大小"
                             android:gravity="center"
                             android:textColor="#000"/>
                         <ImageView
                             android:layout_width="10dp"
                             android:layout_height="8dp"
                             android:background="@drawable/down"
                             android:layout_marginLeft="5dp"/>
                     </LinearLayout>
                 </LinearLayout>
             </LinearLayout>

             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:background="#B9C0C5"
                 android:layout_marginBottom="10dp"/>

             <com.example.week3.moudle.helper.MyListView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:id="@+id/souxiangListView"
                 ></com.example.week3.moudle.helper.MyListView>
             <com.example.week3.moudle.helper.MyGridView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:id="@+id/souxiangGridView"
                 android:numColumns="2"
                 android:visibility="gone"
                 ></com.example.week3.moudle.helper.MyGridView>
         </LinearLayout>
     </com.example.week3.moudle.helper.MyScrollView>


     <RelativeLayout
         android:layout_width="400dp"
         android:layout_height="match_parent"
         android:layout_gravity="end"
         android:id="@+id/souxiangcebian"
         >
         <ImageView
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             />
         <RadioGroup
             android:layout_width="match_parent"
             android:layout_height="30dp"
             android:id="@+id/cebianrg"
             android:layout_alignParentBottom="true"
             android:orientation="horizontal">
             <RadioButton
                 android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_height="match_parent"
                 android:text="神兽青龙"
                 android:checked="true"
                 android:textSize="20dp"
                 android:button="@null"
                 android:gravity="center"
                 android:background="@drawable/cebiandianji"
                 android:textColor="#FFF"/>
             <RadioButton
                 android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_height="match_parent"
                 android:text="凶兽梼杌"
                 android:checked="true"
                 android:textSize="20dp"
                 android:button="@null"
                 android:gravity="center"
                 android:background="@drawable/cebiandianji"
                 android:textColor="#FFF"/>

             <RadioButton
                 android:id="@+id/cebianshuai"
                 android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_height="match_parent"
                 android:layout_marginLeft="15dp"
                 android:text="凶兽穷奇"
                 android:textSize="20dp"
                 android:button="@null"
                 android:gravity="center"
                 android:background="@drawable/cebiandianji"
                 android:textColor="#FFF"/>
             <RadioButton
                 android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_height="match_parent"
                 android:text="神兽朱雀"
                 android:checked="true"
                 android:textSize="20dp"
                 android:button="@null"
                 android:gravity="center"
                 android:background="@drawable/cebiandianji"
                 android:textColor="#FFF"/>
         </RadioGroup>
     </RelativeLayout>

 </android.support.v4.widget.DrawerLayout>

activity中的代码搜索的代码
public class MainActivity extends AppCompatActivity {

     private String mNames[] = {
             "白板擦","德龙咖啡机","镜头手机",
             "记忆棉垫","小米手环","笔记本",
             "三只松鼠","晾衣架","viewgroup",
             "margin","padding","text",
             "name","type","search","logcat"
     };
     private ImageView sousuofan;
     private TextView sousuobut;
     private EditText sousuozhi;
     private SouPresenter souPresenter;
     private LinearLayout flowReSou;
     private LinearLayout lishiSouSuo;
     private RecyclerView resouRecyclerView;
     private ListView sousuolv;
     private MySousuoDao mySousuoDao;
     ArrayList<String> list2 = new ArrayList<>();
     private FlowLayout myflowLayout;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);

         myflowLayout = findViewById(R.id.myflowLayout);
         sousuofan = (ImageView) findViewById(R.id.sousuofan);
         sousuobut = (TextView) findViewById(R.id.sousuobut);
         sousuozhi = (EditText) findViewById(R.id.sousuozhi);
         flowReSou = (LinearLayout) findViewById(R.id.flowReSou);
         lishiSouSuo = (LinearLayout) findViewById(R.id.lishiSouSuo);
         resouRecyclerView = (RecyclerView) findViewById(R.id.resouRecyclerView);
         sousuolv = (ListView) findViewById(R.id.sousuolv);

         SQLiteDatabase db = openOrCreateDatabase("wc.db", MODE_PRIVATE, null);
         mySousuoDao = new MySousuoDao(db);
         souPresenter = new SouPresenter();
     }

     @Override
     protected void onResume() {
         super.onResume();

         //获取数据库,,,判断是否有值,,有值就隐藏流式
         ArrayList<String> list2 = mySousuoDao.chaList();

         if(list2.size()>0){
             setLayout();
             initChildViews();
         }else{
             initChildViews();//流式布局,,,展示数据,,,流式布局的点击事件
         }
         //返回按钮
         sousuofan.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 finish();
             }
         });
         //搜索按钮
         sousuobut.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 String s = sousuozhi.getText().toString();
                 if(s.equals("")){
                     Toast.makeText(MainActivity.this,"搜索内容不能为空!",Toast.LENGTH_SHORT).show();
                 }else{
                     boolean b = mySousuoDao.chaLiShi(s);
                     if(!b){
                         mySousuoDao.addShuJu(s);
                     }
                     //线布局,,,后接口
                     setLayout();
                     String sousuo = APIuil.sousuo(s);
                     getSouSuoContent(s,sousuo);
                 }
             }
         });
     }

     //流式布局,,,展示数据,,,流式布局的点击事件
     private void initChildViews() {
         ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(
                 ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT);
         lp.leftMargin = 5;
         lp.rightMargin = 5;
         lp.topMargin = 5;
         lp.bottomMargin = 5;
         for( int i = 0; i < mNames.length; i++){
             TextView view = new TextView(this);
             view.setText(mNames[i]);
             view.setTextColor(Color.WHITE);
             view.setBackgroundDrawable(getResources().getDrawable(R.drawable.flowtextview));
             myflowLayout.addView(view,lp);
             final int finalI = i;
             view.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {

                     //判断钙元素是否存在数据库中
                     boolean b = mySousuoDao.chaLiShi(mNames[finalI]);
                     if(!b){
                         mySousuoDao.addShuJu(mNames[finalI]);
                     }
                     //先改布局,,后请求接口
                     setLayout();
                     String sousuo = APIuil.sousuo(mNames[finalI]);
                     getSouSuoContent(mNames[finalI],sousuo);

                 }
             });

         }
     }

     //更改布局
     private void setLayout() {
         //将历史布局显示,,,并改变热搜布局
         flowReSou.setVisibility(View.GONE);
         lishiSouSuo.setVisibility(View.VISIBLE);
         //流式横向布局
         resouRecyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this, OrientationHelper.HORIZONTAL,false));
         MyReSouAdapter myReSouAdapter = new MyReSouAdapter(MainActivity.this, mNames);
         resouRecyclerView.setAdapter(myReSouAdapter);
         //历史展示
         ArrayList<String> list = mySousuoDao.chaList();
         list2.clear();
         list2.addAll(list);
         sousuolv.setAdapter(new MySouSuoLvAdapter(MainActivity.this,list2));
         //横向流式点击
         myReSouAdapter.setDianjie(new DianjiJieKou() {
             @Override
             public void onItemClike(int i) {
                 boolean b = mySousuoDao.chaLiShi(mNames[i]);
                 if(!b){
                     mySousuoDao.addShuJu(mNames[i]);
                 }
                 ArrayList<String>  list1 = mySousuoDao.chaList();
                 list2.clear();
                 list2.addAll(list1);
                 sousuolv.setAdapter(new MySouSuoLvAdapter(MainActivity.this,list2));

                 String sousuo = APIuil.sousuo(mNames[i]);
                 getSouSuoContent(mNames[i],sousuo);
             }
         });

         sousuolv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 String s = list2.get(i);
                 String sousuo = APIuil.sousuo(s);
                 getSouSuoContent(s,sousuo);
             }
         });
     }

     //拼接参数,,,访问接口,,获取数据
     private void getSouSuoContent(final String s, String sousuo) {

         souPresenter.getContent(sousuo, new MyJieKou() {
             @Override
             public void onChengGong(final String json) {
                 runOnUiThread(new Runnable() {
                     @Override
                     public void run() {
                         Gson gson = new Gson();
                         MySousuoBean mySousuoBean = gson.fromJson(json, MySousuoBean.class);
                         if(mySousuoBean.getCode().equals("0")){
                             if(mySousuoBean.getData().toString().equals("[]")){
                                 Toast.makeText(MainActivity.this,"没有该类商品!",Toast.LENGTH_SHORT).show();
                             }else{
                                 //跳转,,将解析出来的对象穿走
                                 Intent intent = new Intent(MainActivity.this, SouSuoShow.class);
                                 intent.putExtra("json",json);
                                 intent.putExtra("keywords",s);
                                 startActivity(intent);
                                 finish();
                             }
                         }else{
                             Toast.makeText(MainActivity.this,mySousuoBean.getMsg(),Toast.LENGTH_SHORT).show();
                         }
                     }
                 });
             }

             @Override
             public void onShiBai(final String ss) {
                 runOnUiThread(new Runnable() {
                     @Override
                     public void run() {
                         Toast.makeText(MainActivity.this,ss,Toast.LENGTH_SHORT).show();
                     }
                 });

             }
         });
     }
     public void sousuoqingkong(View view) {
         mySousuoDao.qingLishi();
         //将历史布局隐藏,,,热搜显示
         flowReSou.setVisibility(View.VISIBLE);
         lishiSouSuo.setVisibility(View.GONE);
     }

     @Override
     protected void onDestroy() {
         super.onDestroy();
         finish();
     }
 }显示列表的代码
public class SouSuoShow extends AppCompatActivity {

     ArrayList<MyGouWuBean.DataBean> list = new ArrayList<>();
     private ListView souxiangListView;
     private MySouxiangLieAdapter mySouxiangLieAdapter;
     private MyScrollView souxiangScrollView;
     private DrawerLayout souxiangDrawerLayout;
     private RadioGroup cebianrg;
     private RelativeLayout souxiangcebian;
     private TextView souxiangzong;
     int i=0;
     int j=0;
     private TextView souxiangjiageUp;
     private TextView souxiangjiageDown;
     private TextView souxiangzongDown;
     private ImageView souxiangGeShi;
     int z=0;
     private MySouxiangBiaoAdapter mySouxiangBiaoAdapter;
     private MyGridView souxiangGridView;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_sou_suo_show);

         souxiangScrollView = (MyScrollView) findViewById(R.id.souxiangScrollView);
         souxiangListView = (ListView) findViewById(R.id.souxiangListView);
         TextView souxiangkeywords = (TextView) findViewById(R.id.souxiangkeywords);//搜索值
         ImageView souxiangfan = (ImageView) findViewById(R.id.souxiangfan);//返回键
         LinearLayout souxiangsousuo = (LinearLayout) findViewById(R.id.souxiangsousuo);
         souxiangzong = (TextView) findViewById(R.id.souxiangzong);
         final TextView souxiangxiao = (TextView) findViewById(R.id.souxiangxiao);
         final TextView souxiangjiage = (TextView) findViewById(R.id.souxiangjiage);
         final TextView souxiangshuai = (TextView) findViewById(R.id.souxiangshuai);
         souxiangDrawerLayout = (DrawerLayout) findViewById(R.id.souxiangDrawerLayout);
         cebianrg = (RadioGroup) findViewById(R.id.cebianrg);
         souxiangcebian = (RelativeLayout) findViewById(R.id.souxiangcebian);
         souxiangjiageUp = (TextView) findViewById(R.id.souxiangjiageUp);
         souxiangjiageDown = (TextView) findViewById(R.id.souxiangjiageDown);
         souxiangzongDown = (TextView) findViewById(R.id.souxiangzongDown);
         souxiangGeShi = (ImageView) findViewById(R.id.souxiangGeShi);
         souxiangGridView = (MyGridView) findViewById(R.id.souxiangGridView);

         String json = getIntent().getStringExtra("json");//获取值
         String keywords = getIntent().getStringExtra("keywords");
         souxiangkeywords.setText(keywords);//给搜索框添加值
         //数据的解析,,,,显示
         Gson gson = new Gson();
         final MyGouWuBean myGouWuBean = gson.fromJson(json, MyGouWuBean.class);
         List<MyGouWuBean.DataBean> data = myGouWuBean.getData();
         list.addAll(data);

         //默认以listview格式展示商品数据
         setAdapter();

         View view = View.inflate(SouSuoShow.this, R.layout.souxiangshanglajiazai, null);
         souxiangListView.addFooterView(view);
         //让listview与gridview失去焦点,从而达到scrollview默认展示顶部的效果
         souxiangListView.setFocusable(false);
         souxiangGridView.setFocusable(false);
         //上拉加载数据
         souxiangScrollView.setScrollViewListener(new ScrollViewListener() {
             @Override
             public void onScrollChanged(MyScrollView context, int x, int y, int oldx, int oldy) {
 //                Toast.makeText(MySouSuoShow.this,"正在加载。。。",Toast.LENGTH_SHORT).show();
                 try {
                     Thread.sleep(1000);
                 } catch (InterruptedException e) {
                     e.printStackTrace();
                 }
                 List<MyGouWuBean.DataBean> data = myGouWuBean.getData();
                 list.addAll(data);
                 if(z%2==1){
                     setBiaoGeAdapter();
                 }else{
                     setAdapter();
                 }
             }
         });

         //点击综合排序,,,弹出popu框,,,并选择传值,,,加载popu视图是不能写在点击事件里面
         final View view1 = View.inflate(SouSuoShow.this, R.layout.souxiangzonghe, null);
         final PopupWindow popupWindow = new PopupWindow(view1, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, true);
         souxiangzong.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 souxiangzong.setTextColor(Color.RED);
                 souxiangzongDown.setTextColor(Color.RED);
                 souxiangxiao.setTextColor(Color.BLACK);
                 souxiangjiage.setTextColor(Color.BLACK);
                 popupWindow.setBackgroundDrawable(new BitmapDrawable());
                 popupWindow.setOutsideTouchable(true);
                 popupWindow.showAsDropDown(souxiangzong, 0, 0);
             }
         });
         //点击其他地方也可以关闭popu框
         view1.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 popupWindow.dismiss();
             }
         });
         setPopuWindowClick(view1,popupWindow);//点击popu框传值


         //点击销量排序,,奇数倒序,,偶数正序
         souxiangxiao.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 i++;
                 souxiangzong.setTextColor(Color.BLACK);
                 souxiangzongDown.setTextColor(Color.BLACK);
                 souxiangxiao.setTextColor(Color.RED);
                 souxiangjiage.setTextColor(Color.BLACK);
                 if(i%2==1){
                     Collections.sort(list, new Comparator<MyGouWuBean.DataBean>() {
                         @Override
                         public int compare(MyGouWuBean.DataBean dataBean, MyGouWuBean.DataBean t1) {
                             //sort判断,,根据x轴定律,,小数在左,大数在右
                             if(dataBean.getSalenum()>t1.getSalenum()){
                                 return -1;
                             }else if(dataBean.getSalenum()<t1.getSalenum()){
                                 return 1;
                             }else{
                                 return 0;
                             }
                         }
                     });
                 }else{
                     Collections.sort(list, new Comparator<MyGouWuBean.DataBean>() {
                         @Override
                         public int compare(MyGouWuBean.DataBean dataBean, MyGouWuBean.DataBean t1) {
                             if(dataBean.getSalenum()>t1.getSalenum()){
                                 return 1;
                             }else if(dataBean.getSalenum()<t1.getSalenum()){
                                 return -1;
                             }else{
                                 return 0;
                             }
                         }
                     });
                 }
                 if(z%2==1){
                     setBiaoGeAdapter();
                 }else{
                     setAdapter();
                 }
             }
         });

         //点击价格排序,,,默认正序,,奇数倒序,,偶数正序
         souxiangjiage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 j++;
                 souxiangzong.setTextColor(Color.BLACK);
                 souxiangzongDown.setTextColor(Color.BLACK);
                 souxiangxiao.setTextColor(Color.BLACK);
                 souxiangjiage.setTextColor(Color.RED);
                 if(j%2==1){
                     souxiangjiageDown.setTextColor(Color.RED);
                     souxiangjiageUp.setTextColor(Color.BLACK);
                     Collections.sort(list, new Comparator<MyGouWuBean.DataBean>() {
                         @Override
                         public int compare(MyGouWuBean.DataBean dataBean, MyGouWuBean.DataBean t1) {
                             if(dataBean.getPrice()>t1.getPrice()){
                                 return -1;
                             }else if(dataBean.getPrice()<t1.getPrice()){
                                 return 1;
                             }else{
                                 return 0;
                             }
                         }
                     });
                 }else{
                     souxiangjiageDown.setTextColor(Color.BLACK);
                     souxiangjiageUp.setTextColor(Color.RED);
                     Collections.sort(list, new Comparator<MyGouWuBean.DataBean>() {
                         @Override
                         public int compare(MyGouWuBean.DataBean dataBean, MyGouWuBean.DataBean t1) {
                             if(dataBean.getPrice()>t1.getPrice()){
                                 return 1;
                             }else if(dataBean.getPrice()<t1.getPrice()){
                                 return -1;
                             }else{
                                 return 0;
                             }
                         }
                     });
                 }
                 if(z%2==1){
                     setBiaoGeAdapter();
                 }else{
                     setAdapter();
                 }

             }
         });
         //筛选点击,,,打开侧拉
         souxiangshuai.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 souxiangDrawerLayout.openDrawer(souxiangcebian);
             }
         });
         //关闭侧拉
         cebianrg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
                 RadioButton cebianshuai = (RadioButton) findViewById(R.id.cebianshuai);
                 if(i==R.id.cebianshuai){
                     souxiangDrawerLayout.closeDrawer(souxiangcebian);
                     cebianshuai.setChecked(false);
                 }
             }
         });

         //搜索框的点击事件
         souxiangsousuo.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SouSuoShow.this, MainActivity.class);
                 startActivity(intent);
             }
         });

         //"<"按钮的点击事件
         /*souxiangfan.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(MySouSuoShow.this, ShouYe.class);
                 startActivity(intent);
             }
         });*/


         //切换布局格式,,奇数表格,,偶数列表
         souxiangGeShi.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 z++;
                 if(z%2==1){
                     souxiangGeShi.setImageResource(R.drawable.liebiao);
                     souxiangGridView.setVisibility(View.VISIBLE);
                     souxiangListView.setVisibility(View.GONE);
                     setBiaoGeAdapter();

                 }else{
                     souxiangGeShi.setImageResource(R.drawable.biaoge);
                     souxiangGridView.setVisibility(View.GONE);
                     souxiangListView.setVisibility(View.VISIBLE);
                     setAdapter();
                 }
             }
         });

         souxiangListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 MyGouWuBean.DataBean dataBean = list.get(i);
                 Intent intent = new Intent(SouSuoShow.this, XiangActivity.class);
                 Bundle bundle = new Bundle();
                 bundle.putSerializable("dataBean",dataBean);
                 intent.putExtras(bundle);
                 startActivity(intent);
             }
         });
         souxiangGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 MyGouWuBean.DataBean dataBean = list.get(i);
                 Intent intent = new Intent(SouSuoShow.this, XiangActivity.class);
                 Bundle bundle = new Bundle();
                 bundle.putSerializable("dataBean",dataBean);
                 intent.putExtras(bundle);
                 startActivity(intent);
             }
         });

     }
     //popuwindow框内部的操作
     private void setPopuWindowClick(final View view1, final PopupWindow popupWindow) {
         RelativeLayout souxiangpopu1 = view1.findViewById(R.id.souxiangpopu1);
         RelativeLayout souxiangpopu2 = view1.findViewById(R.id.souxiangpopu2);
         RelativeLayout souxiangpopu3 = view1.findViewById(R.id.souxiangpopu3);
         final TextView zongpai = view1.findViewById(R.id.zongpai);
         final TextView zonggou = view1.findViewById(R.id.zonggou);
         final TextView xinpinpai = view1.findViewById(R.id.xinpinpai);
         final TextView xinpingou = view1.findViewById(R.id.xinpingou);
         final TextView pingpai = view1.findViewById(R.id.pingpai);
         final TextView pinggou = view1.findViewById(R.id.pinggou);
         souxiangpopu1.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {

                 souxiangzong.setText("综合");
                 zongpai.setTextColor(Color.RED);
                 zonggou.setVisibility(View.VISIBLE);
                 xinpinpai.setTextColor(Color.BLACK);
                 xinpingou.setVisibility(View.INVISIBLE);
                 pingpai.setTextColor(Color.BLACK);
                 pinggou.setVisibility(View.INVISIBLE);
                 popupWindow.dismiss();
                 Toast.makeText(SouSuoShow.this,"按照综合排序!",Toast.LENGTH_SHORT).show();
             }
         });
         souxiangpopu2.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 souxiangzong.setText("新品");
                 zongpai.setTextColor(Color.BLACK);
                 zonggou.setVisibility(View.INVISIBLE);
                 xinpinpai.setTextColor(Color.RED);
                 xinpingou.setVisibility(View.VISIBLE);
                 pingpai.setTextColor(Color.BLACK);
                 pinggou.setVisibility(View.INVISIBLE);
                 popupWindow.dismiss();
                 Toast.makeText(SouSuoShow.this,"按照新品排序!",Toast.LENGTH_SHORT).show();
             }
         });
         souxiangpopu3.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 souxiangzong.setText("评论");
                 zongpai.setTextColor(Color.BLACK);
                 zonggou.setVisibility(View.INVISIBLE);
                 xinpinpai.setTextColor(Color.BLACK);
                 xinpingou.setVisibility(View.INVISIBLE);
                 pingpai.setTextColor(Color.RED);
                 pinggou.setVisibility(View.VISIBLE);
                 popupWindow.dismiss();
                 Toast.makeText(SouSuoShow.this,"按照评论排序!",Toast.LENGTH_SHORT).show();
             }
         });
     }
     //刷新适配器
     public void setAdapter(){
         if(mySouxiangLieAdapter==null){
             mySouxiangLieAdapter = new MySouxiangLieAdapter(SouSuoShow.this, list);
             souxiangListView.setAdapter(mySouxiangLieAdapter);
         }else{
             mySouxiangLieAdapter.notifyDataSetChanged();
         }

     }
     public void setBiaoGeAdapter(){
         if(mySouxiangBiaoAdapter==null){
             mySouxiangBiaoAdapter = new MySouxiangBiaoAdapter(SouSuoShow.this, list);
             souxiangGridView.setAdapter(mySouxiangBiaoAdapter);
         }else{
             mySouxiangBiaoAdapter.notifyDataSetChanged();
         }

     }

     @Override
     protected void onStop() {
         super.onStop();
         finish();
     }
 }适配器的操作
public class MyReSouAdapter extends RecyclerView.Adapter<ReSouHolde> {
     Context context;
     String[] mNames;

     public DianjiJieKou dianjie;

     public void setDianjie(DianjiJieKou dianjie) {
         this.dianjie = dianjie;
     }

     public MyReSouAdapter(Context context, String[] mNames) {
         this.context = context;
         this.mNames = mNames;
     }



     @Override
     public ReSouHolde onCreateViewHolder(ViewGroup parent, int viewType) {
         View view = LayoutInflater.from(context).inflate(R.layout.resouliushihengbuju, parent, false);
         ReSouHolde reSouHolde = new ReSouHolde(view);

         return reSouHolde;
     }

     @Override
     public void onBindViewHolder(ReSouHolde holder, final int position) {
         holder.resouname.setText(mNames[position]);
         holder.itemView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 dianjie.onItemClike(position);
             }
         });
     }

     @Override
     public int getItemCount() {
         return mNames.length;
     }
 }
 class ReSouHolde extends RecyclerView.ViewHolder{

     public TextView resouname;

     public ReSouHolde(View itemView) {
         super(itemView);
         resouname = itemView.findViewById(R.id.resouname);
     }
 }+++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class MySouSuoLvAdapter extends BaseAdapter {
     Context context;
     ArrayList<String> list;

     public MySouSuoLvAdapter(Context context, ArrayList<String> list) {
         this.context = context;
         this.list = list;
     }

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

     @Override
     public Object getItem(int i) {
         return null;
     }

     @Override
     public long getItemId(int i) {
         return 0;
     }

     @Override
     public View getView(int i, View view, ViewGroup viewGroup) {
         if (view==null){
             view=View.inflate(context, R.layout.sousuolishibuju,null);
         }
         TextView sousuolishiname = view.findViewById(R.id.sousuolishiname);
         sousuolishiname.setText(list.get(i));
         return view;
     }
 }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++public class MySouxiangBiaoAdapter extends BaseAdapter{
     Context context;
     ArrayList<MyGouWuBean.DataBean> list;

     public MySouxiangBiaoAdapter(Context context, ArrayList<MyGouWuBean.DataBean> list) {
         this.context = context;
         this.list = list;
     }

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

     @Override
     public Object getItem(int i) {
         return null;
     }

     @Override
     public long getItemId(int i) {
         return 0;
     }

     @Override
     public View getView(int i, View view, ViewGroup viewGroup) {
         if(view==null){
            view=View.inflate(context, R.layout.souxiangbiaogebuju,null);
         }
         ImageView souxiangBiaoimg = view.findViewById(R.id.souxiangBiaoimg);
         TextView souxiangBiaoTitle = view.findViewById(R.id.souxiangBiaoTitle);
         TextView souxiangBiaoSelNum = view.findViewById(R.id.souxiangBiaoSelNum);
         TextView souxiangBiaoprice = view.findViewById(R.id.souxiangBiaoprice);
         String[] split = list.get(i).getImages().split("\\|");
         ImageLoader.getInstance().displayImage(split[0],souxiangBiaoimg, ImageLoaderUtils.getcrioption());
         souxiangBiaoTitle.setText(list.get(i).getTitle().substring(0,20)+"....");
         souxiangBiaoSelNum.setText("销量:"+list.get(i).getSalenum());
         souxiangBiaoprice.setText("¥"+list.get(i).getPrice());
         return view;
     }
 }
 ++++++++++++++++++++++++++++++++++++++
 public class MySouxiangLieAdapter extends BaseAdapter {
     Context context;
     List<MyGouWuBean.DataBean> list;

     public MySouxiangLieAdapter(Context context, List<MyGouWuBean.DataBean> list) {
         this.context = context;
         this.list = list;
     }

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

     @Override
     public Object getItem(int i) {
         return null;
     }

     @Override
     public long getItemId(int i) {
         return 0;
     }

     @Override
     public View getView(int i, View view, ViewGroup viewGroup) {
         if(view==null){
             view = View.inflate(context, R.layout.souxiangliebuju, null);
         }
         ImageView souxianglieimg = view.findViewById(R.id.souxianglieimg);
         TextView souxianglietitle = view.findViewById(R.id.souxianglietitle);
         TextView souxianglieSelNum = view.findViewById(R.id.souxianglieSelNum);
         TextView souxianglieprice = view.findViewById(R.id.souxianglieprice);
         String[] split = list.get(i).getImages().split("\\|");
         ImageLoader.getInstance().displayImage(split[0],souxianglieimg, ImageLoaderUtils.getcrioption());
         souxianglietitle.setText(list.get(i).getTitle().substring(0,20)+"....");
         souxianglieSelNum.setText("销量:"+list.get(i).getSalenum());
         souxianglieprice.setText("¥"+list.get(i).getPrice());
         return view;
     }
 }
View层下的IView接口
 public interface DianjiJieKou {
     void onItemClike(int i);
 }public interface MyJieKou {
     void onChengGong(String json);
     void onShiBai(String ss);
 }public interface ScrollViewListener {
     void onScrollChanged(MyScrollView context, int x, int y, int oldx, int oldy);
 }++++++++++++++++++++++++++++++++++++++++++
 API接口public class APIuil {
     public static String shouye="https://www.zhaoapi.cn/ad/getAd?source=android";

     //http://120.27.23.105/product/searchProducts?keywords=德龙咖啡机&source=android
     //德龙咖啡机
     //搜索
     public static String sousuo(String s){
         String ss="http://120.27.23.105/product/searchProducts?keywords="+s+"&source=android";
         return ss;
     }
     //商品数据
     public static String gouwu(int page){
         String gouwu="https://www.zhaoapi.cn/product/getProducts?pscid=2&page="+page+"&source=android";
         return gouwu;
     }
     //注册
     public static String zhuceJieKou(String mobile,String pass){
         String zhuce="https://www.zhaoapi.cn/user/reg?mobile="+mobile+"&password="+pass+"&source=android";
         return zhuce;
     }
     //登录
     public static String dengluJieKou(String mobile,String pass){
         String denglu="https://www.zhaoapi.cn/user/login?mobile="+mobile+"&password="+pass+"&source=android";
         return denglu;
     }

     //查看个人信息
     public static String getRen(String uid){
         String geren="https://www.zhaoapi.cn/user/getUserInfo?uid="+uid+"&source=android";
         return geren;
     }


     //商品详情  https://www.zhaoapi.cn/product/getProductDetail?pid=34
     public static String shangping(String pid){
         String ss="https://www.zhaoapi.cn/product/getProductDetail?pid="+pid+"&source=android";
         return ss;
     }

     //添加购物车
     public static String addCar(String uid, int pid){
         String addCarJiekou="https://www.zhaoapi.cn/product/addCart?uid="+uid+"&pid="+pid+"&source=android";
         return addCarJiekou;
     }

     //查询车   https://www.zhaoapi.cn/product/getCarts
     public static String getCar(String uid){
         String addCarJiekou="http://120.27.23.105/product/getCarts?Uid="+uid+"&source=android";
         return addCarJiekou;
     }
     //删除数据  http://120.27.23.105/product/deleteCart?uid=72&pid=1
     public static String deleteCar(String uid,String pid){
         String ss="http://120.27.23.105/product/deleteCart?uid="+uid+"&pid="+pid+"&source=android";
         return ss;
     }

     /*//更新购物车
     public static String updataCart(String uid,MyGouBean.DataBean.ListBean l){
         String ss="https://www.zhaoapi.cn/product/updateCarts?uid="+uid+"&sellerid="+l.getSellerid()+"&pid="+l.getPid()+"&selected="+l.getSelected()+"&num="+l.getNum()+"&source=android";
         return ss;
     }*/

     //分类左侧列表
     public static String fenlei="http://120.27.23.105/product/getCatagory";

     //分类布局...右侧..商品子分类接口
     public static String zifenlei(String cid){
          String zifenlei="http://120.27.23.105/product/getProductCatagory?cid="+cid+"&source=android";
         return zifenlei;
     }

     //上传文件
     public static String chuanFile(String file){
         String chuan="https://www.zhaoapi.cn/file/upload?uid=3470&file="+file+"&source=android";
         return chuan;
     }
 }present层
public class SouPresenter {

     private final SouModel souModel;

     public SouPresenter() {
         souModel = new SouModel();
     }

     public void getContent(String url, final MyJieKou jie){
         souModel.getContentMessge(url, new MyJieKou() {
             @Override
             public void onChengGong(String json) {
                 jie.onChengGong(json);
             }

             @Override
             public void onShiBai(String ss) {
                 jie.onShiBai(ss);
             }
         });
     }
 }moudle层
public class SouModel {
     public void getContentMessge(String url, final MyJieKou jie){
         OkHttpClient okHttpClient = new OkHttpClient();
         Request build = new Request.Builder().url(url).build();
         Call call = okHttpClient.newCall(build);
         okHttpClient.newCall(build).enqueue(new Callback() {
             @Override
             public void onFailure(Call call, IOException e) {
                 e.printStackTrace();
                 jie.onShiBai("请求失败!");
             }

             @Override
             public void onResponse(Call call, Response response) throws IOException {
                 String ss=response.body().string();
                 Log.i("jiba","======购物"+ss);
                 jie.onChengGong(ss);
             }
         });
     }
 }
++++++++++++++++++++++++++++++++++++
 Dao包public class MySousuoDao {
     private final SQLiteDatabase db;

     public MySousuoDao(SQLiteDatabase db) {
         this.db=db;
         db.execSQL("create table if not exists sousuo(id Integer primary key,name varchar(50))");
     }
     public void addShuJu(String name){
         db.execSQL("insert into sousuo(name) values('"+name+"')");
     }

     public boolean chaLiShi(String name){
         Cursor cursor = db.rawQuery("select *from sousuo where name='" + name + "'", null);
         boolean b = cursor.moveToNext();
         return b;
     }
     public ArrayList<String> chaList(){
         ArrayList<String> list = new ArrayList<>();
         Cursor cursor = db.rawQuery("select *from sousuo", null);
         while (cursor.moveToNext()){
             String name = cursor.getString(cursor.getColumnIndex("name"));
             list.add(name);
         }
         return list;
     }
     public void qingLishi(){
         db.execSQL("delete from sousuo");
     }
 }一些帮助类
public class FlowLayout extends ViewGroup {
     //存储所有子View
     private List<List<View>> mAllChildViews = new ArrayList<>();
     //每一行的高度
     private List<Integer> mLineHeight = new ArrayList<>();

     public FlowLayout(Context context, AttributeSet attrs) {
         super(context, attrs);
     }

     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         //父控件传进来的宽度和高度以及对应的测量模式
         int sizeWidth = MeasureSpec.getSize(widthMeasureSpec);
         int modeWidth = MeasureSpec.getMode(widthMeasureSpec);
         int sizeHeight = MeasureSpec.getSize(heightMeasureSpec);
         int modeHeight = MeasureSpec.getMode(heightMeasureSpec);

         //如果当前ViewGroup的宽高为wrap_content的情况
         int width = 0;//自己测量的 宽度
         int height = 0;//自己测量的高度
         //记录每一行的宽度和高度
         int lineWidth = 0;
         int lineHeight = 0;

         //获取子view的个数
         int childCount = getChildCount();
         for(int i = 0;i < childCount; i ++){
             View child = getChildAt(i);
             //测量子View的宽和高
             measureChild(child, widthMeasureSpec, heightMeasureSpec);
             //得到LayoutParams
             MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
             //子View占据的宽度
             int childWidth = child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin;
             //子View占据的高度
             int childHeight = child.getMeasuredHeight() + lp.topMargin + lp.bottomMargin;
             //换行时候
             if(lineWidth + childWidth > sizeWidth){
                 //对比得到最大的宽度
                 width = Math.max(width, lineWidth);
                 //重置lineWidth
                 lineWidth = childWidth;
                 //记录行高
                 height += lineHeight;
                 lineHeight = childHeight;
             }else{//不换行情况
                 //叠加行宽
                 lineWidth += childWidth;
                 //得到最大行高
                 lineHeight = Math.max(lineHeight, childHeight);
             }
             //处理最后一个子View的情况
             if(i == childCount -1){
                 width = Math.max(width, lineWidth);
                 height += lineHeight;
             }
         }
         //wrap_content
         setMeasuredDimension(modeWidth == MeasureSpec.EXACTLY ? sizeWidth : width,
                 modeHeight == MeasureSpec.EXACTLY ? sizeHeight : height);
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
     }

     @Override
     protected void onLayout(boolean b, int z, int i1, int i2, int i3) {
         mAllChildViews.clear();
         mLineHeight.clear();
         //获取当前ViewGroup的宽度
         int width = getWidth();

         int lineWidth = 0;
         int lineHeight = 0;
         //记录当前行的view
         List<View> lineViews = new ArrayList<View>();
         int childCount = getChildCount();
         for(int i = 0;i < childCount; i ++){
             View child = getChildAt(i);
             MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
             int childWidth = child.getMeasuredWidth();
             int childHeight = child.getMeasuredHeight();

             //如果需要换行
             if(childWidth + lineWidth + lp.leftMargin + lp.rightMargin > width){
                 //记录LineHeight
                 mLineHeight.add(lineHeight);
                 //记录当前行的Views
                 mAllChildViews.add(lineViews);
                 //重置行的宽高
                 lineWidth = 0;
                 lineHeight = childHeight + lp.topMargin + lp.bottomMargin;
                 //重置view的集合
                 lineViews = new ArrayList();
             }
             lineWidth += childWidth + lp.leftMargin + lp.rightMargin;
             lineHeight = Math.max(lineHeight, childHeight + lp.topMargin + lp.bottomMargin);
             lineViews.add(child);
         }
         //处理最后一行
         mLineHeight.add(lineHeight);
         mAllChildViews.add(lineViews);

         //设置子View的位置
         int left = 0;
         int top = 0;
         //获取行数
         int lineCount = mAllChildViews.size();
         for(int i = 0; i < lineCount; i ++){
             //当前行的views和高度
             lineViews = mAllChildViews.get(i);
             lineHeight = mLineHeight.get(i);
             for(int j = 0; j < lineViews.size(); j ++){
                 View child = lineViews.get(j);
                 //判断是否显示
                 if(child.getVisibility() == View.GONE){
                     continue;
                 }
                 MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
                 int cLeft = left + lp.leftMargin;
                 int cTop = top + lp.topMargin;
                 int cRight = cLeft + child.getMeasuredWidth();
                 int cBottom = cTop + child.getMeasuredHeight();
                 //进行子View进行布局
                 child.layout(cLeft, cTop, cRight, cBottom);
                 left += child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin;
             }
             left = 0;
             top += lineHeight;
         }
     }

     /**
      * 与当前ViewGroup对应的LayoutParams
      */
     @Override
     public LayoutParams generateLayoutParams(AttributeSet attrs) {
         // TODO Auto-generated method stub

         return new MarginLayoutParams(getContext(), attrs);
     }
 }
 ++++++++++++++++++++++++++++++++++++++++++
 list和grild是一样的public class MyGridView extends GridView {

     public MyGridView(Context context) {
         super(context);
     }

     public MyGridView(Context context, AttributeSet attrs) {
         super(context, attrs);
     }

     public MyGridView(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
     }
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                 MeasureSpec.AT_MOST);

         super.onMeasure(widthMeasureSpec, expandSpec);
     }
 }
 ++++++++++++++++++++++++++++++++++++++++++++++++
 public class MyScrollView extends ScrollView {

     private ScrollViewListener scrollViewListener;

     public MyScrollView(Context context, AttributeSet attrs) {
         super(context, attrs);
     }

     public void setScrollViewListener(ScrollViewListener scrollViewListener) {
         this.scrollViewListener = scrollViewListener;
     }

     @Override
     protected void onScrollChanged(int l, int t, int oldl, int oldt) {
         super.onScrollChanged(l, t, oldl, oldt);
         //scrollview的起始点+总高度==crollView的computeVerticalScrollRange
         if(getScrollY() + getHeight() ==  computeVerticalScrollRange())
         {
             Log.d("jiaba","------滚动到最下方------");
             if(scrollViewListener!=null){
                 scrollViewListener.onScrollChanged(this, l, t, oldl, oldt);
             }
         }
     }
 }
还有一些布局resouliushihengbuju
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content">

     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="sdfgf"
         android:textColor="#FFF"
         android:background="@drawable/flowtextview"
         android:id="@+id/resouname"
         android:layout_margin="10dp"
         />
 </LinearLayout>============================================
sousuolishibuju
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">

     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="sadfgh"
         android:textSize="20dp"
         android:id="@+id/sousuolishiname"
         />
 </LinearLayout>=================================================
souxiangbiaogebuju
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:orientation="vertical"
     android:layout_height="wrap_content"
     >

     <ImageView
         android:layout_width="match_parent"
         android:layout_height="200dp"
         android:id="@+id/souxiangBiaoimg"
         />
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:id="@+id/souxiangBiaoTitle"
         android:textSize="20dp"
         android:textColor="#000"
         android:text="asdfasd"
         android:layout_marginTop="5dp"
         />
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:id="@+id/souxiangBiaoSelNum"
         android:textSize="20dp"
         android:textColor="#000"
         android:text="asdfasd"
         android:layout_marginTop="5dp"
         />
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="#F89"
         android:text="1sdf"
         android:textSize="20dp"
         android:id="@+id/souxiangBiaoprice"
         android:layout_marginTop="5dp"
         />
 </LinearLayout>=============================================
souxiangliebuju
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">

     <ImageView
         android:layout_width="120dp"
         android:layout_height="120dp"
         android:layout_gravity="center"
         android:layout_marginLeft="20dp"
         android:id="@+id/souxianglieimg"/>
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="120dp"
         android:orientation="vertical"
         android:layout_marginLeft="15dp"
         android:layout_gravity="center"
         >
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="空间的查看次机会"
             android:layout_marginTop="8dp"
             android:textSize="20dp"
             android:textColor="#000"
             android:id="@+id/souxianglietitle"
             />
         <TextView
             android:id="@+id/souxianglieSelNum"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="90"
             android:layout_marginTop="28dp"
             android:textSize="20dp"
             android:textColor="#000"
             />
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="15250.00"
             android:textColor="#F00"
             android:textSize="20dp"
             android:layout_marginTop="5dp"
             android:id="@+id/souxianglieprice"/>
     </LinearLayout>
 </LinearLayout>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
souxiangshanglajiazai
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="30dp"
     android:orientation="horizontal"
     android:gravity="center_horizontal" >

     <ProgressBar
         android:id="@+id/progressBar1"
         style="?android:attr/progressBarStyleSmall"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         />

     <TextView
         android:layout_marginLeft="20dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="正在载入...."
         android:textSize="20dp"
         />
 </LinearLayout>=========================================================
souxiangzonghe
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:orientation="vertical"
     android:background="#33000000"
     android:layout_height="130dp">

     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="40dp"
         android:id="@+id/souxiangpopu1"
         android:background="#FFF">
         <TextView
             android:id="@+id/zongpai"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:text="综合排序"
             android:gravity="center"
             android:textSize="20dp"
             android:layout_marginLeft="20dp"
             android:textColor="#F00"/>
         <TextView
             android:id="@+id/zonggou"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:gravity="center"
             android:text="✔"
             android:textSize="20dp"
             android:layout_alignParentRight="true"
             android:layout_marginRight="20dp"
             android:textColor="#F00"/>
     </RelativeLayout>
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="40dp"
         android:id="@+id/souxiangpopu2"
         android:background="#FFF">
         <TextView
             android:id="@+id/xinpinpai"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:text="新品优先"
             android:gravity="center"
             android:textSize="20dp"
             android:layout_marginLeft="20dp"
             android:textColor="#000"/>
         <TextView
             android:id="@+id/xinpingou"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:gravity="center"
             android:text="✔"
             android:textSize="20dp"
             android:layout_alignParentRight="true"
             android:layout_marginRight="20dp"
             android:textColor="#F00"
             android:visibility="invisible"/>
     </RelativeLayout>
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="40dp"
         android:id="@+id/souxiangpopu3"
         android:background="#FFF">
         <TextView
             android:id="@+id/pingpai"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:text="评论数从高到低"
             android:gravity="center"
             android:textSize="20dp"
             android:layout_marginLeft="20dp"
             android:textColor="#000"/>
         <TextView
             android:id="@+id/pinggou"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:gravity="center"
             android:text="✔"
             android:textSize="20dp"
             android:layout_alignParentRight="true"
             android:layout_marginRight="20dp"
             android:textColor="#f00"
             android:visibility="invisible"/>
     </RelativeLayout>
 </LinearLayout>
drawable中的属性cebiandianji
<selector xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:drawable="@color/red" android:state_checked="false"/>
     <item android:state_checked="true" android:drawable="@color/search_bg"/>
 </selector>flowtextview
<shape xmlns:android="http://schemas.android.com/apk/res/android">
     <solid android:color="#B9C0C5" />
     <corners android:radius="10dp" />
     <padding
         android:left="5dp"
         android:right="5dp"
         android:top="5dp"
         android:bottom="5dp"
         />
 </shape>search_bg
<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle"
     >
 <solid android:color="@color/search_bg"></solid>
     <corners android:radius="50dp"></corners>
 </shape>sousuokuang
<shape xmlns:android="http://schemas.android.com/apk/res/android">

     <corners android:radius="20px"/>
     <padding android:left="10px"
         android:top="5px"
         android:bottom="5px"/>
     <size android:height="30dp" android:width="380dp"/>
     <stroke android:width="1px" android:color="#000"/>

 </shape>souxiangkuang
<shape xmlns:android="http://schemas.android.com/apk/res/android">

     <corners android:radius="10dp"/>
     <solid android:color="#E8E8E8"/>
 </shape>