Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid ExpandableListVIew using BaseExpandableListAdapter
    primarykey
    data
    text
    <p>I am using MyExpandableListAdapter that extends BaseExpandableListAdapter and I implement all methods of BaseExpandableListAdapter in my adapter,I create MyExpadableListActivity that extends ExpandableListActivity. MyExpandableListAdapter is the inner class of MyExpadableListActivity. I am using a xml views for adding childs and groupd UI(past in below). As I run application its display fine. My problem is this this I override the method onChildClick (....) of ExpandableListActivity in MyExpadableListActivity .when I run my code it can't go for onChildClick method . how I can implement onChildClick (...) method using this situation or else suggestion .. Hope someone point me what I am doing wrong .... Be grateful for if anyone point how i can achieve solution . . </p> <pre><code>public class MyExpadableListActivity extends ExpandableListActivity implements ExpandableListView.OnChildClickListener { ExpandableListAdapter mAdapter; Context mContext; static final String groups[] = { "Chats", "Contacts (289)", "Group Chat (7)", "e-Card (137)", "Pending (37)", "Bookmarks" }; static final String children[][] = { { "ListofChats" }, { "Group", "groupt01", "groupt02", "groupt03" }, { "Groupd 01", "", "Group 02", "", "Group 03", "" }, { "E-Card-01", "", "E-Card-02", "", "Business Card Received", "" }, { " Req", "", " Req", "", " Req", "" } }; private static final String TAG = "Hookup"; XMPPConnection connection = SignInMainActivity.connection; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAdapter = new MyExpandableListAdapter(this); setListAdapter(mAdapter); registerForContextMenu(getExpandableListView()); } @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { // TODO Auto-generated method stub System.out.println("Insidded onContextItemSelected"); return super.onChildClick(parent, v, groupPosition, childPosition, id); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.setHeaderTitle("Hookup Menu"); menu.add(0, 0, 0, R.string.hello); } public boolean onContextItemSelected(MenuItem item) { System.out.println("Insidded onContextItemSelected"); Log.i(TAG, "onContextItemSelected"); ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item .getMenuInfo(); String title = ((TextView) info.targetView).getText().toString(); int type = ExpandableListView .getPackedPositionType(info.packedPosition); if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) { int groupPos = ExpandableListView .getPackedPositionGroup(info.packedPosition); int childPos = ExpandableListView .getPackedPositionChild(info.packedPosition); Toast.makeText(this,title + ": Child " + childPos + " clicked in group " + groupPos, Toast.LENGTH_SHORT).show(); return true; } else if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) { int groupPos = ExpandableListView .getPackedPositionGroup(info.packedPosition); Toast.makeText(this, title + ": Group " + groupPos + " clicked", Toast.LENGTH_SHORT).show(); return true; } return false; } public class MyExpandableListAdapter extends BaseExpandableListAdapter { Context mContext; public MyExpandableListAdapter() { // TODO Auto-generated constructor stub } public MyExpandableListAdapter(Context context) { mContext = context; } public Object getChild(int groupPosition, int childPosition) { Log.i(TAG, "getChild"); return children[groupPosition][childPosition]; } public long getChildId(int groupPosition, int childPosition) { Log.i(TAG, "getChildId"); return childPosition; } public int getChildrenCount(int groupPosition) { Log.i(TAG, "getChildId"); return children[groupPosition].length; } public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { Log.i(TAG, "getChildView"); LayoutInflater layoutInflater = (LayoutInflater) mContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = null; TextView tt = null; if (groupPosition == 4) { v = layoutInflater.inflate(R.layout.button_group, null); } else { v = layoutInflater.inflate(R.layout.album_row, null); tt = (TextView) v.findViewById(R.id.text1); String myText = this.getChild(groupPosition, childPosition) .toString(); tt.setText(myText); CheckBox cb = (CheckBox) v.findViewById(R.id.checkbox); cb.setVisibility(View.VISIBLE); if (groupPosition == 0) { ImageView icon = (ImageView) v.findViewById(R.id.rowicon); icon.setImageResource(R.drawable.add_picture); } else { ImageView icon = (ImageView) v.findViewById(R.id.rowicon); icon.setImageResource(R.drawable.add_picture); } } return v; } public Object getGroup(int groupPosition) { Log.i(TAG, "getGroup"); return groups[groupPosition]; } public int getGroupCount() { Log.i(TAG, "getGroupCount"); return groups.length; } public long getGroupId(int groupPosition) { Log.i(TAG, "getGroupId"); return groupPosition; } public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { TextView groupTitle = null; ImageView imgDot; LayoutInflater layoutInflater = (LayoutInflater) mContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = null; v = layoutInflater.inflate(R.layout.button_group, null); groupTitle = (TextView) v.findViewById(R.id.TextView01); String myText = this.getGroup(groupPosition).toString(); groupTitle.setText(myText); imgDot = (ImageView) v.findViewById(R.id.ImageView01); imgDot.setVisibility(View.VISIBLE); return v; } public boolean isChildSelectable(int groupPosition, int childPosition) { Log.i(TAG, "isChildSelectable"); return true; } public boolean hasStableIds() { Log.i(TAG, "hasStableIds"); return true; } public void registerDataSetObserver(DataSetObserver observer) { } } // closing of MyExpandableListAdapter } // closing of MyExpadableListActivity </code></pre> <p>My xml views are as below </p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft" android:paddingRight="?android:attr/scrollbarSize" android:layout_weight="1" android:background="#fafafa"&gt; &lt;ImageView android:id="@+id/rowicon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="6dip" /&gt; &lt;TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /&gt; &lt;CheckBox android:id="@+id/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="2dip" android:focusable="true" android:clickable="true" android:gravity="center_vertical" android:orientation="vertical" android:duplicateParentState="true" android:visibility="visible" android:text="myTest" /&gt; &lt;/LinearLayout&gt; </code></pre> <p>and </p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft" android:paddingRight="?android:attr/scrollbarSize" android:layout_weight="1" android:background="#fafafa"&gt; </code></pre> <p> </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.
 

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