ListView和RecycleView显示问题

weixin_43779101 2019-01-16 02:49:12
代码检查了好几遍都不知道出错在哪
把RecyclerView的代码附上
希望有大神帮忙
FruitAdapter适配器代码:
public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> {
private List<Fruit> mFruitList;

public FruitAdapter(List<Fruit> fruitList){
mFruitList=fruitList;

}
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.fruit_item,viewGroup,false);
ViewHolder holder=new ViewHolder(view);
return holder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int i) {
Fruit fruit=mFruitList.get(i);
holder.fruitname.setText(fruit.getName());
holder.fruitimage.setImageResource(fruit.getImageId());
}

@Override
public int getItemCount() {
return mFruitList.size();
}

static class ViewHolder extends RecyclerView.ViewHolder{
ImageView fruitimage;
TextView fruitname;
public ViewHolder(@NonNull View itemView) {
super(itemView);
fruitimage=(ImageView)itemView.findViewById(R.id.fruit_image);
fruitname=(TextView)itemView.findViewById(R.id.fruit_name);
}
}
}

MainActivity代码
public class MainActivity extends AppCompatActivity {

private List<Fruit> fruitList=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
RecyclerView recyclerView=(RecyclerView)findViewById(R.id.recycler);
LinearLayoutManager layoutManager=new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
FruitAdapter adapter=new FruitAdapter(fruitList);
recyclerView.setAdapter(adapter);

}

private void init(){
for(int i=0;i<2;i++){
Fruit a=new Fruit("a",R.mipmap.ic_launcher);
fruitList.add(a);
Fruit b=new Fruit("b",R.mipmap.ic_launcher);
fruitList.add(b);
Fruit c=new Fruit("c",R.mipmap.ic_launcher);
fruitList.add(c);
Fruit d=new Fruit("d",R.mipmap.ic_launcher);
fruitList.add(d);
Fruit e=new Fruit("e",R.mipmap.ic_launcher);
fruitList.add(e);
Fruit f=new Fruit("f",R.mipmap.ic_launcher);
fruitList.add(f);
Fruit g=new Fruit("g",R.mipmap.ic_launcher);
fruitList.add(g);
}
}
}

Fruit——item.xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ImageView
android:id="@+id/fruit_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/fruit_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"/>

</LinearLayout>

...全文
91 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43779101 2019-01-16
  • 打赏
  • 举报
回复
啊,我知道了,谢谢你,我多加了一个static,看这个代码却从来没想过Fruit会出错
雕·不懒惰 2019-01-16
  • 打赏
  • 举报
回复
代码没问题 看你Fruit里面怎么写的
public class Fruit {
private String name;
private int imageId;

public Fruit(String name, int imageId) {
this.name = name;
this.imageId = imageId;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getImageId() {
return imageId;
}

public void setImageId(int imageId) {
this.imageId = imageId;
}
}
weixin_43779101 2019-01-16
  • 打赏
  • 举报
回复
第一次发帖,忘了附错误,如图
雕·不懒惰 2019-01-16
  • 打赏
  • 举报
回复
什么错误你都不说清楚,谁知道有什么问题
LinearLayout 没有orientation

80,347

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧