//上面的布局_sou_layout02
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:gravity="center" android:orientation="horizontal" android:layout_marginTop="2dp" android:layout_height="25dp"> <RelativeLayout android:id="@+id/saoyisao" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/btn_fan2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center_vertical" android:text="<" android:textSize="20dp" /> </RelativeLayout> <RelativeLayout android:id="@+id/edit_view" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="4" android:background="@drawable/dot" > <ImageView android:layout_width="25dp" android:layout_height="24dp" android:src="@drawable/sou" android:layout_centerVertical="true" android:layout_marginLeft="15dp" /> <TextView android:id="@+id/tv_sousuo" android:layout_width="260dp" android:layout_height="30dp" android:text="" android:hint="查询" android:gravity="center_vertical" android:paddingLeft="50dp" android:scrollbars="none" android:background="@null"/> <ImageView android:id="@+id/iv1_sousuo" android:layout_width="25dp" android:layout_height="25dp" android:src="@drawable/dog" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:layout_alignParentRight="true" android:layout_marginRight="20dp" /> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <CheckBox android:button="@null" android:id="@+id/iv_xxs" android:layout_width="25dp" android:layout_height="25dp" android:background="@drawable/kind_selector"/> </RelativeLayout> </LinearLayout>//drawable中的kind_selector
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/kind_grid" /> <item android:state_checked="false" android:drawable="@drawable/kind_liner" /> </selector>
//主要布局
<bwie.com.jingdong.View.ObservableScrollView 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="bwie.com.jingdong.MainActivity_02"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:orientation="vertical" > <include layout="@layout/sou_layout02" /> </LinearLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_Sou" android:layout_width="match_parent" android:layout_height="wrap_content" > </android.support.v7.widget.RecyclerView> </LinearLayout> </bwie.com.jingdong.View.ObservableScrollView>////页面的Activitypublic class MainActivity_02 extends AppCompatActivity implements IMain_Activity_02 { private MainPresenter_02 mainPresenter_02; private TextView btn_fan2; private RecyclerView recycler_sou; private TextView tv_sousuo; private CheckBox huan; private MyListAdapter_04 adapter04; private int i=1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_02); btn_fan2 = (TextView) findViewById(R.id.btn_fan2); recycler_sou = (RecyclerView) findViewById(R.id.recycler_Sou); tv_sousuo = (TextView) findViewById(R.id.tv_sousuo); huan = (CheckBox) findViewById(R.id.iv_xxs); //返回 btn_fan2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity_02.this,SouSuoActivity.class)); overridePendingTransition(R.anim.rightin, R.anim.leftout); finish(); } }); //查询 tv_sousuo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity_02.this,SouSuoActivity.class)); overridePendingTransition(R.anim.rightin, R.anim.leftout); finish(); } }); //传值 Intent intent = getIntent(); final String name = intent.getStringExtra("name"); // Toast.makeText(this,name,Toast.LENGTH_SHORT).show(); //获取数据....MVP mainPresenter_02 = new MainPresenter_02(this); mainPresenter_02.getLoginData(ApiUtil.selectProductUrl,name); } //接口返回值 @Override public void onSuccess(final Pruducts pruducts) { runOnUiThread(new Runnable() { @Override public void run() { recycler_sou.setLayoutManager(new LinearLayoutManager(MainActivity_02.this,LinearLayoutManager.VERTICAL,false)); adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); //点击变形 huan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { i++; if(i%2==1){ adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setLayoutManager(new LinearLayoutManager(MainActivity_02.this,LinearLayoutManager.VERTICAL,false)); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); }else{ adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setLayoutManager(new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL)); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); } } }); } }); } }//页面的Activity
public class MainActivity_02 extends AppCompatActivity implements IMain_Activity_02 { private MainPresenter_02 mainPresenter_02; private TextView btn_fan2; private RecyclerView recycler_sou; private TextView tv_sousuo; private CheckBox huan; private MyListAdapter_04 adapter04; private int i=1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_02); btn_fan2 = (TextView) findViewById(R.id.btn_fan2); recycler_sou = (RecyclerView) findViewById(R.id.recycler_Sou); tv_sousuo = (TextView) findViewById(R.id.tv_sousuo); huan = (CheckBox) findViewById(R.id.iv_xxs); //返回 btn_fan2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity_02.this,SouSuoActivity.class)); overridePendingTransition(R.anim.rightin, R.anim.leftout); finish(); } }); //查询 tv_sousuo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity_02.this,SouSuoActivity.class)); overridePendingTransition(R.anim.rightin, R.anim.leftout); finish(); } }); //传值 Intent intent = getIntent(); final String name = intent.getStringExtra("name"); // Toast.makeText(this,name,Toast.LENGTH_SHORT).show(); //获取数据....MVP mainPresenter_02 = new MainPresenter_02(this); mainPresenter_02.getLoginData(ApiUtil.selectProductUrl,name); } //接口返回值 @Override public void onSuccess(final Pruducts pruducts) { runOnUiThread(new Runnable() { @Override public void run() { recycler_sou.setLayoutManager(new LinearLayoutManager(MainActivity_02.this,LinearLayoutManager.VERTICAL,false)); adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); //点击变形 huan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { i++; if(i%2==1){ adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setLayoutManager(new LinearLayoutManager(MainActivity_02.this,LinearLayoutManager.VERTICAL,false)); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); }else{ adapter04 = new MyListAdapter_04(MainActivity_02.this, pruducts,i); recycler_sou.setLayoutManager(new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL)); recycler_sou.setAdapter(adapter04); adapter04.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int position) { //点击 Intent intent = new Intent(MainActivity_02.this, MainActivity_XiangQing.class); //intent.putExtra("name",pruducts.getData().get(position).getDetailUrl()); intent.putExtra("pid",pruducts.getData().get(position).getPid()); startActivity(intent); } @Override public void onItemLongClick(int position) { //长按 } }); } } }); } }); } }//holder
//适配器public class MyListHolder05 extends RecyclerView.ViewHolder { public TextView textView; public TextView textView2; public ImageView imageView; public TextView textView4; public TextView text6; public ImageView image_list2; public MyListHolder05(View itemView) { super(itemView); //holder里面是需要拿到视图中的控件 textView = itemView.findViewById(R.id.text5); textView2= itemView.findViewById(R.id.textView3); imageView= itemView.findViewById(R.id.image_list); text6 = itemView.findViewById(R.id.text6); textView4= itemView.findViewById(R.id.textView4); image_list2= itemView.findViewById(R.id.image_list2); } }
public class MyListAdapter_04 extends RecyclerView.Adapter<MyListHolder05> { private Context context; private Pruducts pruducts; private OnItemListner onItemListner; private int i; public MyListAdapter_04(Context context, Pruducts pruducts,int i) { this.context = context; this.pruducts = pruducts; this.i=i; } @Override public MyListHolder05 onCreateViewHolder(ViewGroup parent, int viewType) { View view; if(i%2==1){ view = View.inflate(context, R.layout.item06, null); }else{ view = View.inflate(context, R.layout.item09, null); } //根据展示的条目的视图 创建viewHolder MyListHolder05 holder = new MyListHolder05(view); return holder; } @Override public void onBindViewHolder(MyListHolder05 holder, final int position) { //设置文本 if(i%2==1){ holder.textView.setText("¥:"+pruducts.getData().get(position).getBargainPrice()); holder.textView2.setText(pruducts.getData().get(position).getTitle()); Glide.with(context).load(pruducts.getData().get(position).getImages().split("\\|")[0]).into( holder.imageView); holder.textView2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onItemListner.onItemClick(position); } }); holder.textView2.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { onItemListner.onItemLongClick(position); return true; } }); }else{ holder.text6.setText("¥:"+pruducts.getData().get(position).getPrice()); holder.textView4.setText(pruducts.getData().get(position).getTitle()); Glide.with(context).load(pruducts.getData().get(position).getImages().split("\\|")[0]).into( holder.image_list2); holder.textView4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onItemListner.onItemClick(position); } }); holder.textView4.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { onItemListner.onItemLongClick(position); return true; } }); } } @Override public int getItemCount() { return pruducts.getData().size(); } /** * 创建的是设置事件的方法 * @param onItemListner */ public void setOnItemListner(OnItemListner onItemListner) { this.onItemListner = onItemListner; } }//点击事件的接口
public interface OnItemListner { void onItemClick(int position); void onItemLongClick(int position); }