Note that there are some explanatory texts on larger screens.

plurals
  1. POExpandableListView child items don't get focus when touched
    primarykey
    data
    text
    <p>Ok, so I wrote an ExpandableListView and subclassed BaseExpandableListAdapter... Everything works fine except I cannot get the child views to take focus when clicked. If I use the trackball everything works fine. But if I try to click on a child I get no feedback whatsoever.</p> <p>I have tried setting android:focusable, android:focusableInTouchMode, and android:clickable (and I have also tried setting this via code) but I can't get anything to work. Any ideas?</p> <p>Here is my Adapter code:</p> <pre><code>public class ExpandableAppAdapter extends BaseExpandableListAdapter { private PackageManager m_pkgMgr; private Context m_context; private List&lt;ApplicationInfo&gt; m_groups; private List&lt;List&lt;ComponentName&gt;&gt; m_children; public ExpandableAppAdapter(Context context, List&lt;ApplicationInfo&gt; groups, List&lt;List&lt;ComponentName&gt;&gt; children) { m_context = context; m_pkgMgr = m_context.getPackageManager(); m_groups = groups; m_children = children; } @Override public Object getChild(int groupPos, int childPos) { return m_children.get(groupPos).get(childPos); } @Override public long getChildId(int groupPos, int childPos) { return childPos; } @Override public int getChildrenCount(int groupPos) { return m_children.get(groupPos).size(); } @Override public View getChildView(int groupPos, int childPos, boolean isLastChild, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(m_context); convertView = inflater.inflate(R.layout.expandable_app_child_row, null); } ComponentName child = (ComponentName)getChild(groupPos, childPos); TextView txtView = (TextView)convertView.findViewById(R.id.item_app_pkg_name_id); if (txtView != null) txtView.setText(child.getPackageName()); txtView = (TextView)convertView.findViewById(R.id.item_app_class_name_id); if (txtView != null) txtView.setText(child.getClassName()); convertView.setFocusableInTouchMode(true); return convertView; } @Override public Object getGroup(int groupPos) { return m_groups.get(groupPos); } @Override public int getGroupCount() { return m_groups.size(); } @Override public long getGroupId(int groupPos) { return groupPos; } @Override public View getGroupView(int groupPos, boolean isExpanded, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(m_context); convertView = inflater.inflate(R.layout.expandable_app_group_row, null); } ApplicationInfo group = (ApplicationInfo)getGroup(groupPos); ImageView imgView = (ImageView)convertView.findViewById(R.id.item_selection_icon_id); if (imgView != null) { Drawable img = m_pkgMgr.getApplicationIcon(group); imgView.setImageDrawable(img); imgView.setMaxWidth(20); imgView.setMaxHeight(20); } TextView txtView = (TextView)convertView.findViewById(R.id.item_app_name_id); if (txtView != null) txtView.setText(m_pkgMgr.getApplicationLabel(group)); return convertView; } @Override public boolean hasStableIds() { return false; } @Override public boolean isChildSelectable(int groupPos, int childPos) { return true; } } </code></pre> <p>Thanks in advance!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload