Проблема с моим CustomListAdapter в Android

дело в том, что в моем customlistadapter он покажет текст и картинку в шесть рядов. Но в последней строке будет отображаться только текст, а не изображение. Когда я ставлю 0 вместо картинки, они показывают картинку по умолчанию, но я не хочу, чтобы там была какая-либо картинка. Как это сделать? Любые советы будут действительно ценными, спасибо.

В этой строке:

-> pilsTyper.add(new Pilstyper("Egendefinert", 0));

ListAdapterClass

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));
}

person Sindre    schedule 15.05.2014    source источник
comment
вы пробовали imgView.setImageDrawable(null); или imgView.setImageResource(0);?   -  person Shayan Pourvatan    schedule 15.05.2014
comment
Pilstyper твой собственный класс? если это так, вы можете обрабатывать значение 0 там   -  person nikis    schedule 15.05.2014
comment
нет, сейчас попробую, спасибо   -  person Sindre    schedule 15.05.2014
comment
Попробуйте заменить эту строку: pilsTyper.add(new Pilstyper(Egendefinert, 0)); При этом: pilsTyper.add(новый Pilstyper(Egendefinert, R.drawable.someimagename));   -  person Haresh Chhelana    schedule 15.05.2014
comment
@shayan, если я использую это, то все предметы получат одинаковую картинку. хареш, но я не хочу там никаких рис. только текстовые ники, как я могу это сделать?   -  person Sindre    schedule 15.05.2014
comment
вы должны обрабатывать свой код, если ключ равен 0, тогда установите для вашего изображения значение null, иначе установите для изображения значение keyId   -  person Shayan Pourvatan    schedule 15.05.2014


Ответы (2)


Вы должны скрыть ImageView, когда идентификатор значка равен 0. Попробуйте следующее:

if (nyPils.getIkonId() == 0) {
    imageView.setVisibility(View.GONE); // or View.INVISIBLE
} else {
    imageView.setVisibility(View.VISIBLE);
    imageView.setImageResource(nyPils.getIkonId());
}
person erakitin    schedule 15.05.2014
comment
иногда мы думаем так сложно, что забываем, что можем писать код таким образом. Спасибо - person Sindre; 15.05.2014

Нет, вы не должны указывать идентификатор изображения, у вас нет другого выбора.

person user3217783    schedule 15.05.2014
comment
Я думаю, что это неправильно, потому что вы можете установить для своего изображения значение null, см. stackoverflow.com/questions/2859212/ или stackoverflow.com/questions/6643432/ - person Shayan Pourvatan; 15.05.2014