2011-06-27 6 views
2

私は、カスタムアダプタを持つカスタムListViewをArrayAdapterに拡張しています。私はRelativeLayoutビューを取得していますonListItemClick ListActivity方法でCustom ListActivityとinsideListのonListItemClick

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight"> 

    <TextView android:id="@+id/filePickerTextView1" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:minHeight="?android:attr/listPreferredItemHeight" 
     android:focusable="true" android:text="item" /> 

    <ImageView android:layout_width="wrap_content" 
     android:focusable="true" android:src="@drawable/icon" 
     android:layout_height="fill_parent" android:id="@+id/filePickerImageView1" 
     android:layout_alignParentRight="true" android:layout_alignRight="@android:id/text1"></ImageView> 

</RelativeLayout> 

: ArrayAdapter 2つのビューでXMLを膨らませています。私が必要とするのは、正確なビューがクリックされたことを知ることです(TextViewまたはImageView)。私はリスナーを設定することでこれをアダプターで得ることができますが、私はListActivityでそれを必要とします。理由は、クリックしたビューに基づいてsetResultを発生させる必要があるからです。

答えて

1

カスタムアダプタークラスでは、以下のコードを使用してTextviewをクリックすると、トーストメッセージが表示され、イメージビューをクリックするとトーストメッセージが表示されます。

holder.filePickerImageView1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      // toast message; 

     } 
    }); 

    holder.filePickerTextView1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      // toast message; 

     } 
    }); 
+0

私は疑問に言ったように、私はListActivityではなく、アダプターでそれを必要とします。 ListActivityとアダプタ間でデータを交換する可能性はありますか? – korro

+0

アダプタからのリストアのデータを設定できます –

1

5ヶ月後、私は自分のプロジェクトに戻り、私の質問に答えました。 最も簡単な方法は、カスタムアダプターにコンテキストを渡すことです。

https://stackoverflow.com/a/4197364/214081