public class FoodsBeanimplements MultiItemEntity {
private int ret
private Listdata
public int getRet() {
return ret
}
public void setRet(int ret) {
this.ret = ret
}
public ListgetData() {
return data
}
public void setData(List data) {
this.data = data
}
@Override
public int getItemType() {
return 0
}
public static class DataBeanimplements MultiItemEntity {
/**
* id : 8289
* title : 油焖大虾
* pic : http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg
* collect_num : 1670
* food_str : 大虾 葱 生姜 植物油 料酒
* num : 1670
*/
private Stringid
private Stringtitle
private Stringpic
private Stringcollect_num
private Stringfood_str
private int num
private Integerindex
public IntegergetIndex() {
return index
}
public void setIndex(Integer index) {
this.index = index
}
public StringgetId() {
return id
}
public void setId(String id) {
this.id = id
}
public StringgetTitle() {
return title
}
public void setTitle(String title) {
this.title = title
}
public StringgetPic() {
return pic
}
public void setPic(String pic) {
this.pic = pic
}
public StringgetCollect_num() {
return collect_num
}
public void setCollect_num(String collect_num) {
this.collect_num = collect_num
}
public StringgetFood_str() {
return food_str
}
public void setFood_str(String food_str) {
this.food_str = food_str
}
public int getNum() {
return num
}
public void setNum(int num) {
this.num = num
}
@Override
public int getItemType() {
return index
}
}
}
//我的布局比较简单两个布局一个里边是一个按钮一个里边是一个texView
public class Adapterextends BaseMultiItemQuickAdapter {
public Adapter(@Nullable List data) {
super(data)
//添加自己的多布局
addItemType(0,R.layout.day8_recitem)
addItemType(1,R.layout.day8_recitemmain)
}
@Override
protected void convert(@NotNull BaseViewHolder baseViewHolder, FoodsBean.DataBean dataBean) {
这里的dataBean的getIndex就是刚刚Bean类自己设置的Integer类型。
switch (dataBean.getIndex()){
case 1:
//数据源绑定控件和正常的ViewHolder一样
baseViewHolder.setText(R.id.day8_text,dataBean.getFood_str())
break
case 0:
baseViewHolder.setText(R.id.day8_btn,dataBean.getTitle())
break
}
}
}
public class Day8Activityextends AppCompatActivity {
private RecyclerViewday8Rec
private ListmyData=new ArrayList<>()
private Adapteradapter
int a=1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_day8)
initView()
day8Rec.setLayoutManager(new LinearLayoutManager(this))
//Get
OkGo.get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1").execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
String string = response.body()
Gson gson=new Gson()
//解析数据
FoodsBean foodsBean = gson.fromJson(string, FoodsBean.class)
myData=foodsBean.getData()
adapter =new Adapter(myData)
day8Rec.setAdapter(adapter)
//这里比较重要我这里设置的a=1;这里和adapter的绑定控件添加数据源有关,同时还设置了要选中的布局是哪一个
for (int i =0i
myData.get(i).setIndex(a%2)
a++
}
adapter =new Adapter(myData)
day8Rec.setAdapter(adapter)
}
})
}
private void initView() {
day8Rec = (RecyclerView) findViewById(R.id.day8_rec)
}
}
//最后贴下布局自己比较简单,布局有点丑不要介意
//mainAct
android:orientation="vertical"
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"
tools:context=".day8Exam.Day8Activity">
android:background="@color/colorPrimary"
android:id="@+id/day8_rec"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
//两个ITEM的
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
android:id="@+id/day8_btn"
android:text="发送"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints">
</androidx.constraintlayout.widget.ConstraintLayout>
//第二个
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:id="@+id/day8_text"
android:text="你好"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints">
</androidx.constraintlayout.widget.ConstraintLayout>
首先我们打开Android Studio,新建一个Android项目,如下图所示
接下来展开layout文件夹,找到activity_main.xml文件,如下图所示
请点击输入图片描述
然后打开这个xml文件,可以看到下面可以切换文本模式和设计模式,如下图所示
请点击输入图片描述
接下来我们在xml中定义LinearLayout容器,如下图所示
请点击输入图片描述
接着给LinearLayout设置id以及布局,如下图所示
请点击输入图片描述
最后我们就可以看到线性布局设置好了,蓝框就代表它的区域,如下图所示
请点击输入图片描述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)