2010-06-15 73 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