本文主要是介绍ExpandableListView与Button结合使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于项目奇葩需求,ExpandableListView右端还要做一个button跳转到下一个ExpandableListView。本来ExpandableListView就可以显示两级了,但是还不符合要求。
首先Button如何添加进去的问题先,这个简单,在适配器group.xml布局里面添加就可以了
代码如下:
private void adapter(){
ListgroupList = new ArrayList();
groupList.add(new String[]{"徐汇","123"});
groupList.add(new String[]{"虹口","456"});
// 创建一级条目
List
这时候就要自己继承SimpleExpandableListAdapter。重写里面的getGroupView
public class LvButtonAdapter extends SimpleExpandableListAdapter {
public LvButtonAdapter(Context context,
List> groupData, int groupLayout,
String[] groupFrom, int[] groupTo,
List>> childData,
int childLayout, String[] childFrom, int[] childTo) {
super(context, groupData, groupLayout, groupFrom, groupTo, childData,
childLayout, childFrom, childTo);
// TODO Auto-generated constructor stub
}
private LayoutInflater mInflater;
private Context mContext;
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
mInflater=LayoutInflater.from(MainActivity.this);
convertView = mInflater.inflate(R.layout.group, null) ;
Button buttonClose = ( Button) convertView. findViewById(R.id.nextGroup) ;
buttonClose.setOnClickListener( new lvButtonListener( groupPosition ) ) ;
return super.getGroupView(groupPosition, isExpanded, convertView, parent);
}
class lvButtonListener implements OnClickListener {
private int position ;
lvButtonListener( int pos) {
position = pos;
}
@Override
public void onClick( View v) {
Toast.makeText(MainActivity.this, groupList.get(position)[1], Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this,NextActivity.class));
}
}
}
效果图如下:
有问题可以评论,有空我会上的。
这篇关于ExpandableListView与Button结合使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!