Hi, There seems to be a lot of questions on this very issue. I have gone thro' most of them and yet unable to find a workable solution :(
I am unable to get the focus on any item of my list. My Activity DOES NOT extend ListActivity and i do not have any ListView with default ID - android.R.id.list since i have more than one ListViews to deal with in my activity. The following is the relevant code from my ListAdapter. There seems to be this problem whenever i attempt to use convertView.setOnClickListener() instead of the standard listViewInstance.setOnItemClickListener() to react to the user's click on the list items. Why is that? I am forced to use convertView.setOnClickListener() under some circumstances because listViewInstance.setOnItemClickListener() does not seem to work under those cases. Trying to understand the basic difference between the two cases. Interestingly, i am able to detect the click event and the convertView.setOnClickListener() gets called - on the second attempt though - i don't know what's happening to the first click event. Any ideas or links to materials? public class MyListAdapter extends BaseAdapter { protected static final String TAG = "MyListAdapter"; private LayoutInflater mInflater; private Context mContext; public MyListAdapter(MainActivity mainActivity) { // TODO Auto-generated constructor stub mContext = mainActivity; mInflater = LayoutInflater.from(mainActivity); } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewItemHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.item, null); convertView.setClickable(true); convertView.setFocusableInTouchMode(true); convertView.setFocusable(true); holder = new ViewItemHolder(); holder.timeStamp = (TextView) convertView.findViewById(R.id.textView1); holder.firstLine = (TextView) convertView.findViewById(R.id.textView2); convertView.setTag(holder); } else { holder = (ViewItemHolder) convertView.getTag(); } holder.timeStamp.setText(itemObj.getTitleItem(position)); holder.firstLine.setText(itemObj.getMessageItem(position)); holder.positionInList = position; holder.listIndex = parent.getId(); convertView.setOnClickListener(clickListener); return convertView; } OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ViewItemHolder vh = (ViewItemHolder) v.getTag(); Log.v(TAG, "[" + vh.listIndex + "][" + vh.positionInList + "] " + (String) vh.timeStamp.getText() + ", " + (String) vh.firstLine.getText()); } }; } Thanks -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en