实例情况:ExbandableListView的父项带一个或两个按钮,点击实现相应功能。思路:在自定义的ExbandableListView适配器中的getGroupView()方法中,获取按钮控件,定义点击监听,在监听方法中通过Intent跳转至下一个Activity。
@Override public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // 取得用于显示给定分组的视图。 这个方法仅返回分组的视图对象, 要想获取子元素的视图对象, // 就需要调用 getChildView(int, int, boolean, View, ViewGroup)。 View v; if (convertView == null) { v = newGroupView(isExpanded, parent); } else { v = convertView; } bindGroupView(v, mGroupData.get(groupPosition), mGroupFrom, mGroupTo); ImageView del = (ImageView) v.findViewById(R.id.b_delete); ImageView update = (ImageView) v.findViewById(R.id.b_update); final TextView tv = (TextView) v.findViewById(R.id.groupTextView); int a = tv.getText().toString().trim().indexOf("."); final String id = tv.getText().toString().trim().substring(0,a); del.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Resource r = new Resource() ; r.delete(id); notifyDataSetChanged(); Intent intent = new Intent(mInflater.getContext(),Resource.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//因不是在Activity中跳转,加这句即可 notifyDataSetInvalidated(); mInflater.getContext().startActivity(intent); } }); update.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mInflater.getContext(),Update_resource.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("uid",id); mInflater.getContext().startActivity(intent); } }); return v; }