Android:选项卡中的ListView onClick事件

时间:2010-06-15 09:41:08

标签: android listview android-tabhost

我只是Android世界的新手。 我试图在一个标签内(或实际上在活动中)添加一个ListView, 每个listview将显示另一个包含组件的视图,如文本,图像等。 这个组件必须是动态的,将在源程序中设置

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设置图像和文本, 但是在我运行它之后,这个文本和图像组件没有更新。

我会很感激这个问题的解决方案。

亲切的问候, 阿鲁

1 个答案:

答案 0 :(得分:0)

您需要花费几行代码来扩充和配置detailview。但是,您不会在任何地方使用detailview