1.mainactivity
public class MainActivity extends Activity implements IView {
private String mUrl=\"http://www.wanandroid.com/tools/mockapi/6523/restaurant-list\";
private RecyclerView mLeftRecy;
private RecyclerView mRightRecy;
private ArrayList<MyData.DataBean> mList=new ArrayList<>();
private ArrayList<MyData.DataBean.SpusBean> mRightList=new ArrayList<>();
private LinearLayoutManager manager;
private LeftAdapter mLeftAdapter;
private PresenterImpl presenter;
private RightAdapter mRightAdapter;
private LinearLayoutManager manager1;
@Override
protected int getLayout() {
return R.layout.activity_main;
}
@Override
protected void initView() {
mLeftRecy = findViewById(R.id.Left_Recy);
mRightRecy = findViewById(R.id.Right_Recy);
//左边的适配器
mLeftAdapter = new LeftAdapter(mList,this);
mLeftRecy.setAdapter(mLeftAdapter);
//左边管理类
manager = new LinearLayoutManager(this);
mLeftRecy.setLayoutManager(manager);
//右边的适配器
mRightAdapter = new RightAdapter(mRightList,this);
mRightRecy.setAdapter(mRightAdapter);
//右边管理类
manager1 = new LinearLayoutManager(this);
mRightRecy.setLayoutManager(manager1);
mLeftAdapter.set Listener(new LeftAdapter.ItemClick() {
@Override
public void set (View view, int position) {
Toast.makeText(MainActivity.this,mList.get(position).getName(), Toast.LENGTH_SHORT).show();
//点击切换 先清除集合
mRightList.clear();
mRightList.addAll(mList.get(position).getSpus());
mRightAdapter.notifyDataSetChanged();
}
});
}
@Override
protected void set () {
}
@Override
protected void progressLogic() {
presenter = new PresenterImpl(this);
presenter.startRequest(mUrl,null);
}
@Override
public void success( data) {
MyData myData= (MyData) data;
mList.addAll(myData.getData());
mLeftAdapter.notifyDataSetChanged();
//进去就展示
mRightList.addAll(mList.get(0).getSpus());
mRightAdapter.notifyDataSetChanged();
}
@Override
public void error( error) {
}
}
2.主布局
<RelativeLayout ns:android=“http://schemas.android.com/apk/res/android”
ns:app=\"http://schemas.android.com/apk/res-auto\"
ns:tools=\"http://schemas.android.com/tools\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\"
tools:context=\".MainActivity\">
<LinearLayout
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\"
android:orientation=\"horizontal\">
<android.support.v7.widget.RecyclerView
android:id=\"@+id/Left_Recy\"
android:layout_width=\"0dp\"
android:layout_weight=\"2\"
android:layout_height=\"match_parent\"></android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id=\"@+id/Right_Recy\"
android:layout_width=\"0dp\"
android:layout_weight=\"6\"
android:layout_height=\"match_parent\"></android.support.v7.widget.RecyclerView>
</LinearLayout>
/RelativeLayout>
3.leftAdapter
public class LeftAdapter extends RecyclerView.Adapter<LeftAdapter.ViewHolder> implements View. Listener {
private ArrayList<MyData.DataBean> mList;
private Context mContext;
public LeftAdapter(ArrayList<MyData.DataBean> mList, Context mContext) {
this.mList = mList;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(mContext, R.layout.left_item, null);
ViewHolder holder = new ViewHolder(view);
view.set Listener(this);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.tv.setText(mList.get(i).getName());
viewHolder.itemView.setTag(i);
}
@Override
public int getItemCount() {
return mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView tv;
public ViewHolder(@NonNull View itemView) {
super(itemView);
tv = itemView.findViewById(R.id.Left_Text);
}
}
//接口回调
public interface ItemClick {
void set (View view, int position);
}
private ItemClick mItemClick;
public void set Listener(ItemClick itemClick) {
this.mItemClick = itemClick;
}
@Override
public void (View v) {
if(mItemClick!=null){
mItemClick.set (v,(int)v.getTag());
}
}
}
4.rightAdapter
public class RightAdapter extends RecyclerView.Adapter<RightAdapter.ViewHolder> {
private ArrayList<MyData.DataBean.SpusBean> mList;
private Context mContext;
public RightAdapter(ArrayList<MyData.DataBean.SpusBean> mList, Context mContext) {
this.mList = mList;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(mContext, R.layout.right_item, null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.name.setText(mList.get(i).getName()+\"\");
viewHolder.price.setText(mList.get(i).getSkus().get(0).getPrice());
Glide.with(mContext).load(mList.get(i).getPic_url()).into(viewHolder.img);
}
@Override
public int getItemCount() {
return mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView img;
private TextView name;
private TextView price;
public ViewHolder(@NonNull View itemView) {
super(itemView);
img=itemView.findViewById(R.id.Right_Image);
name=itemView.findViewById(R.id.Right_ );
price=itemView.findViewById(R.id.Right_Price);
}
}
}
左边布局
<LinearLayout ns:android=“http://schemas.android.com/apk/res/android”
android:orientation=\"vertical\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\">
<TextView
android:id=\"@+id/Left_Text\"
android:text=\"哈哈哈\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\" />
/LinearLayout>
右边 布局
<LinearLayout ns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=\"match_parent\"
android:layout_height=\"120dp\"
android:gravity=\"center_vertical\"
android:orientation=\"horizontal\">
<ImageView
android:id=\"@+id/Right_Image\"
android:layout_width=\"80dp\"
android:layout_height=\"80dp\" />
<LinearLayout
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"
android:layout_weight=\"1\"
android:orientation=\"vertical\">
<TextView
android:id=\"@+id/Right_ \"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"
android:text=\"哈哈哈\" />
<TextView
android:id=\"@+id/Right_Price\"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"
android:layout_marginTop=\"10dp\"
android:text=\"哈哈哈\" />
</LinearLayout>
<com.bawei.wangyaxiao.yuekaomoni2.weight.JiaJianView
android:id=\"@+id/JiaJian_View\"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"></com.bawei.wangyaxiao.yuekaomoni2.weight.JiaJianView>
继续阅读与本文标签相同的文章
上一篇 :
华为为什么叫华为?你知道这个名字的由来吗?
下一篇 :
用C语言解决弟弟的作业问题
-
陆奇:看好5G技术,但应用好5G还需要时间
2026-05-14栏目: 教程
-
在Visual Studio中使用clang-tidy进行代码分析
2026-05-14栏目: 教程
-
甘薇贾跃亭曝出离婚消息,贾跃亭破产前转账51万美元,作为“家庭费用”
2026-05-14栏目: 教程
-
指静脉识别黑科技加身,6.9秒破百,体验纯电动轿跑零跑S01
2026-05-14栏目: 教程
-
首届中国工业互联网大赛在乌镇开赛
2026-05-14栏目: 教程
