Android中我的CustomListAdapter存在问题
在我的customlistadapter中,它将显示六行文本和图片。但在最后一行,它将只显示文本,而不是图片。当我把0而不是图片,他们显示默认的图片,但我不想有任何图片那里。怎么做?任何提示都很有价值,谢谢 在这方面:Android中我的CustomListAdapter存在问题,android,listadapter,Android,Listadapter,在我的customlistadapter中,它将显示六行文本和图片。但在最后一行,它将只显示文本,而不是图片。当我把0而不是图片,他们显示默认的图片,但我不想有任何图片那里。怎么做?任何提示都很有价值,谢谢 在这方面: -> pilsTyper.add(new Pilstyper("Egendefinert", 0)); 列表适配器类 private class MyListAdapter extends ArrayAdapter<Pilstyper> { publi
-> pilsTyper.add(new Pilstyper("Egendefinert", 0));
列表适配器类
private class MyListAdapter extends ArrayAdapter<Pilstyper> {
public MyListAdapter() {
super(velgDinPromille.this, R.layout.activity_item_view, pilsTyper);
}
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = convertView;
if (itemView == null) {
itemView = getLayoutInflater().inflate(
R.layout.activity_item_view, parent, false);
}
// finn pilstype som du skal jobbe med
Pilstyper nyPils = pilsTyper.get(position);
// ImageView
ImageView imageView = (ImageView) itemView
.findViewById(R.id.lettol);
imageView.setImageResource(nyPils.getIkonId());
// Tekst
TextView tekst = (TextView) itemView.findViewById(R.id.tekst_pils);
tekst.setText(nyPils.getTekst());
return itemView;
}
}
private void pilsTyperList() {
// TODO Auto-generated method stub
pilsTyper.add(new Pilstyper("Øl", R.drawable.ol));
pilsTyper.add(new Pilstyper("Cider og rusbrus", R.drawable.cider));
pilsTyper.add(new Pilstyper("Vin", R.drawable.vin));
pilsTyper.add(new Pilstyper("Sterkvin", R.drawable.portvin2));
pilsTyper.add(new Pilstyper("Brennevin/Drinker", R.drawable.drink2));
pilsTyper.add(new Pilstyper("Egendefinert", 0));
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(){
super(velgDinPromille.this,R.layout.activity\u item\u view,pilsTyper);
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图项视图=转换视图;
如果(itemView==null){
itemView=GetLayoutFlater()。充气(
R.layout.activity\u item\u视图,父级,false);
}
//finn pilstype som du skal jobbe med
Pilstyper nyPils=Pilstyper.get(位置);
//图像视图
ImageView ImageView=(ImageView)项目视图
.findviewbyd(R.id.lettol);
setImageResource(nyPils.getIkonId());
//特克斯特
TextView tekst=(TextView)itemView.findViewById(R.id.tekst_pils);
tekst.setText(nyPils.getTekst());
返回项目视图;
}
}
私人无效盗窃犯名单(){
//TODO自动生成的方法存根
打桩机。添加(新打桩机(“Øl”,R.drawable.ol));
打桩机。添加(新打桩机(“Cider og rusbrus”,R.drawable.Cider));
打桩机。添加(新打桩机(“Vin”,R.drawable.Vin));
打桩机。添加(新打桩机(“Sterkvin”,R.drawable.portvin2));
打桩机。添加(新打桩机(“Brennevin/Drinker”,R.drawable.drink2));
打桩机。添加(新打桩机(“Egendefinet”,0));
}
不,您不必提供图像id,您没有任何其他选项。当图标id为0时,您应该隐藏图像视图。试试这个:
if (nyPils.getIkonId() == 0) {
imageView.setVisibility(View.GONE); // or View.INVISIBLE
} else {
imageView.setVisibility(View.VISIBLE);
imageView.setImageResource(nyPils.getIkonId());
}
您是否尝试过
imgView.setImageDrawable(null)代码>或imgView.setImageResource(0)代码>?是你自己的职业吗?如果是这样,您可以处理0
值。不,我现在要尝试一下,感谢您替换这一行:pilsTyper.add(new pilsTyper(“egendefinet”,0));使用这个:pilsTyper.add(新的pilsTyper(“egendefinet”,R.drawable.someimagename))@shayan,如果我用这个,那么所有物品都会得到相同的图片。哈雷什,但我不想在那里拍照片。只有文本nikis,我怎么能做到呢?我认为这是错误的,因为你可以将图像设置为null,看到了吗,或者有时我们觉得太复杂了,以至于我们忘记了我们可以用这种方式编写代码。谢谢