2010-06-15 5 views
0

나는 안드로이드 세계에서 단지 초보자입니다. Tab (또는 실제로 활동중인) 내에 ListView를 추가하려고 시도했습니다. 및 각 listview는 해당 텍스트, 이미지 등의 구성 요소가 포함 된 다른보기를 표시합니다. 이 구성 요소는 동적이어야하며 내에서 설정됩니다. 소스 프로그램안드로이드 : 탭에서 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); detailview는 ViewFlipper 레이아웃에서 설정되므로 애니메이션이 사라진 후에 표시해야합니다. 내 구현이 올바르지 않을 수 있습니까? – Aru