Android: событие ListView onClick на вкладках

Я просто новичок в мире Android. Я попытался добавить ListView внутри вкладки (или фактически в действии), и каждое представление списка будет отображать другое представление, содержащее такие компоненты, как текст, изображение и т. д. эти компоненты должны быть динамическими, будут установлены в исходной программе.

макет списка:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="80dip"
    android:layout_height="?android:attr/listPreferredItemHeight" android:gravity="center">
    <ImageView android:id="@+id/img" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:layout_width="wrap_content"
    android:layout_height="fill_parent" >
    <TextView android:id="@+id/name" android:layout_width="fill_parent"
        android:layout_height="?android:attr/listPreferredItemHeight" android:textSize="18dip"
        android:paddingLeft="10dip" android:gravity="center_vertical" />
</LinearLayout>

onListItemClick :

protected void onListItemClick(ListView l, View v, int position, long id) {
    try {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        // TODO Auto-generated method stub
        LayoutInflater factory = getLayoutInflater();
        View detailview = factory.inflate(R.layout.top_detail,null);

        ImageView detailimg = (ImageView) detailview.findViewById(R.id.img_detail);
        TextView detailtxt = (TextView) detailview.findViewById(R.id.txt_detail);

        if (position == SUKIMA) {
            detailimg.setImageResource(R.drawable.sukima);
            detailtxt.setText(R.string.sukima_detail);
        } else if (position == TAJUUJIN) {
            detailimg.setImageResource(R.drawable.pu_tajuujin);
            detailtxt.setText(R.string.tajuujin_detail);
        } else if (position == LOVERS) {
            detailimg.setImageResource(R.drawable.pu_lovers);
            detailtxt.setText(R.string.lovers_detail);
        }

        this.flipper.setInAnimation(AnimationSanmon.inFromRightAnimation());
        this.flipper.setOutAnimation(AnimationSanmon.outToLeftAnimation());
        this.flipper.showNext();

        detailimg.setImageDrawable(detailview.getResources().getDrawable(R.drawable.sukima));
        detailtxt.setText(R.string.sukima_detail);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

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

Буду признателен за решение этой проблемы.

С уважением, Ару


person Aru    schedule 15.06.2010    source источник


Ответы (1)


Вы тратите несколько строк кода на расширение и настройку detailview. Однако вы нигде не используете detailview.

person CommonsWare    schedule 15.06.2010
comment
что вы имеете в виду под использованием detailview ? Хм.. Я думаю, что использовал его, чтобы найти ImageView и TextView из detailview. посмотрите исходный код ниже: ImageView detailimg = (ImageView) detailview.findViewById(R.id.img_detail); TextView detailtxt = (TextView) detailview.findViewById(R.id.txt_detail); а подробное представление установлено в макете ViewFlipper, поэтому оно должно отображаться после того, как анимация исчезнет. может моя реализация неверна? - person Aru; 16.06.2010