не могу установить изображение при накачивании макета на андроид - PullRequest
1 голос
/ 04 ноября 2011

Я пытаюсь добавить маленькое изображение в строку моего ExpandableList. Ниже вы можете увидеть код метода getchildview моего пользовательского адаптера. Он отлично работает для настройки динамического текста, но не удается, когда я хочу добавить изображение.

Я не понимаю, почему команды для добавления изображения полностью игнорируются приложением. Я пробовал 2 версии, просто чтобы увидеть, как обе не удаются.

Я не получаю никаких ошибок во время выполнения, просто изображения не загружаются. Более того, я знаю, что по крайней мере «setImageBitmap» работает, потому что я использую его в другом месте с успехом.

Приведенные изображения представляют собой файлы размером 9x10 png.

Пожалуйста, помогите мне, потому что я не думаю, что что-то упускаю, но изображения вообще не показываются.

Я попытался установить цвет фона (setBackgroundColor) для относительной длины l, но это тоже не имело эффекта. Поэтому я думаю, что это связано с графикой, но я не могу найти никакой ошибки в моем подходе.

public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {
        RelativeLayout l = (RelativeLayout) getLayoutInflater().inflate(R.layout.titoli2_gruppo_riga, null)
        String s;
        s=prodotti.get(groupPosition).get(childPosition)[DSP];
        Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.disponibile);
        if(s.equals("true"))                    
            ((ImageView) l.findViewById(R.id.tgr_dispon)).setImageBitmap(bm);
        else
            ((ImageView) l.findViewById(R.id.tgr_dispon)).setImageResource(R.drawable.nondispon);           
        ((TextView) l.findViewById(R.id.tgr_descr)).setText(prodotti.get(groupPosition).get(childPosition)[DES]);
        ((TextView) l.findViewById(R.id.tgr_prezz)).setText("€"+prodotti.get(groupPosition).get(childPosition)[PRE]);
        ((TextView) l.findViewById(R.id.tgr_note)).setText(prodotti.get(groupPosition).get(childPosition)[NOT]);                
        ((TextView) l.findViewById(R.id.tgr_sigla)).setText(prodotti.get(groupPosition).get(childPosition)[SIG]);


        return l;
}

Вы можете увидеть XML, который я раздуваю, здесь http://pastebin.com/DwxdxJSK

1 Ответ

1 голос
/ 04 ноября 2011

Проверяли ли вы Графический макет в вашем XML-файле, Изображение не отображается в вашем графическом макете из-за TextView with id as tgr_descr is given match_parent, поэтому ваш Imageview не отображается.1007 * Для проверки видимости изображения просто используйте android:src="@drawable/icon"

Попробуйте этот код:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="horizontal"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent" android:weightSum="1">
<ImageView      android:id="@+id/tgr_dispon"  android:layout_height="wrap_content"
                android:layout_width="wrap_content" android:layout_toLeftOf="@+id/tgr_descr"
                android:layout_alignParentLeft="true" android:paddingLeft="7dp"
                android:src="@drawable/icon"/>
<TextView       android:id="@+id/tgr_descr" android:layout_height="wrap_content"
                android:layout_width="wrap_content"  android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/tgr_prezz" android:text="descr"
                android:textAppearance="?android:attr/textAppearanceMedium" android:padding="7dp"/>

<TextView       android:id="@+id/tgr_prezz" android:layout_height="wrap_content"
                android:layout_width="wrap_content" android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"  android:text="prezzo"
                android:textAppearance="?android:attr/textAppearanceMedium" android:padding="7dp"/>

<TextView       android:id="@+id/tgr_note" android:layout_height="wrap_content"
                android:layout_width="wrap_content" android:layout_below="@+id/tgr_descr"
                android:layout_alignParentLeft="true" android:text="note"
                android:textAppearance="?android:attr/textAppearanceSmall" android:paddingLeft="7dp"/>
<TextView       android:id="@+id/tgr_sigla" android:layout_height="wrap_content"
                android:layout_width="wrap_content"  android:layout_toRightOf="@+id/tgr_note"
                android:layout_below="@+id/tgr_descr" android:layout_alignParentRight="true"
                android:text="sigla" android:textAppearance="?android:attr/textAppearanceSmall"
                android:paddingLeft="7dp"/>
</RelativeLayout>
...