I\'m looking now a few days for a solution for clickable items in a listView.
First I came across this: developer.android.com/resources/articles/touch-mode.h
How do you create your instance of ClickableListAdapter
?
When you create your list adapter, you have to pass a resource id viewId
, this should be a layout
which will be inflated later.
public ClickableListAdapter(Context context, int viewid, List objects) {
// Cache the LayoutInflate to avoid asking for a new one each time.
mInflater = LayoutInflater.from(context);
mDataObjects = objects;
mViewId = viewid;
Below, the code inflate the xml layout passed to the constructor and call createHolder
.
view = mInflater.inflate(mViewId, null);
// call the user's implementation
holder = createHolder(view);
So make sure that when instantiating your ClickableListAdapter
, you pass a layout
instead of an id
Edit You have to create a xml layout with the following which is taken from the link you have provided:
If you call it mylistrow.xml
in the layout directory, so you construct your adapter as :
adapter = new MyClickableChannelListAdapter(this, R.layout.mylistrow, channelList);
setListAdapter(adapter);