Hi Bob, since you are using ListActivity, you can override onListItemClick instead of creating new OnItemClickListener. More information here
http://developer.android.com/reference/android/app/ListActivity.html#onListItemClick(android.widget.ListView, android.view.View, int, long) That should fix your problem. Best regards, Filip Havlicek 2010/11/4 FractalBob <[email protected]> > I thought I knew how to catch list selection events in Android and > then I regained consciousness. In my situation, I have a ListView that > I populate with a custom view, all of the same class (let's call it > the NewsChannel() class). NewsChannel consists of a LinearLayout of > ImageViews and TextViews. When the list is displayed, the user may > select a NewsChannel item in the list; I want to find out which list > item was selected. > > Also, I registered an onClickListener to one of the TextViews and that > works fine: when the text is clicked on, an activity is launched which > is looking for the position of the NewsChannel item in the list. > > So, here's what my code looks like: > > 1. Registering the onClickListener in the ListActivity: > > public class NewsListActivity extends ListActivity > { > . > . > . > public void onCreate(Bundle icicle) > { > super.onCreate(icicle); > setContentView(R.layout.news_list_format); > > ListView lv = getListView(); > > lv.setOnItemClickListener(new OnItemClickListener() { > public void onItemClick(AdapterView<?> parent, View view, > int position, long id) { > // When clicked, show a toast with the TextView text > item_index = position; > Toast.makeText(getApplicationContext(), "item clicked = > " + position, Toast.LENGTH_SHORT).show(); > } > }); > > . > . > . > 2. The layout for the ListView associated with NewsListActivity: > > <?xml version="1.0" encoding="UTF-8"?> > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ > android" > android:orientation="vertical" > android:layout_width="fill_parent" > android:layout_height="fill_parent" > android:background="@drawable/wpaper_tile" > > > <ListView android:id="@id/android:list" > android:layout_width="fill_parent" > android:layout_height="fill_parent" > android:layout_alignParentTop="true" > android:dividerHeight="15dp" > android:divider="@android:color/transparent" > android:cacheColorHint="@android:color/transparent" > android:scrollbars="none" > /> > <FrameLayout > android:layout_width="fill_parent" > android:layout_height="55dp" > android:layout_centerHorizontal="true" > android:layout_alignParentBottom="true" > android:background="#88000000" > /> > <ImageView > android:layout_width="fill_parent" > android:layout_height="wrap_content" > android:layout_centerHorizontal="true" > android:layout_alignParentBottom="true" > android:src="@drawable/phonetop_bg" > /> > </RelativeLayout> > > 3. The NewsChannel layout: > > <?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="wrap_content"> > > <include layout="@layout/news_heading_format" > android:id="@+id/news_heading_header"/> > > <ImageView android:id="@+id/news_channel_image" > android:layout_width="88dp" > android:layout_height="66dp" > android:layout_alignParentLeft="true" > android:layout_below="@id/news_heading_header" > android:padding="10dp" /> > > <TextView android:id="@+id/news_channel_text" > android:lines="4" > android:inputType="textMultiLine" > android:layout_toRightOf="@id/news_channel_image" > android:layout_below="@id/news_heading_header" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > </RelativeLayout> > > When I run the app, the ItemClickListener is never called. However, if > NewsChannel were of a simpler type, say, a single ImageView or > TextView embedded in the layout, the callback does get called. > > Any idea what I'm doing wrong? My whole goal is simply to let the > activity launched by NewsChannel (not shown) to find out which > instance of NewsChannel it was launched from. Thanks, in advance! > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<android-developers%[email protected]> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

