2010-06-15 43 views
0

我只是Android世界的新手。 我试图在选项卡(或实际上在活动)中添加一个ListView, 和每个listview将显示另一个视图,其中包含文本,图像等组件。 这个组件是动态的,将在源程序Android:列表中的ListView onClick事件

列表视图布局:

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

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

亲切的问候, 阿鲁

回答

0

你花几行代码膨胀和配置detailview。但是,您不会在任何地方使用detailview

+0

你是什么意思“使用detailview”? 嗯..我想我用它从detailview中找到ImageView和TextView。 请看下面的来源: ImageView detailimg =(ImageView)detailview.findViewById(R.id.img_detail); TextView detailtxt =(TextView)detailview.findViewById(R.id.txt_detail); 并且在ViewFlipper布局上设置了detailview,所以它必须在动画消失后显示它。 难道我的实施是不正确的? – Aru 2010-06-16 10:21:36