展会信息港展会大全

android中ExpandableListView点击哪一条那一条显示,而其他条隐藏的实现办法
来源:互联网   发布日期:2015-11-26 16:23:50   浏览:2975次  

导读:效果图:直接上代码嬀樀愀瘀愀崀 瀀甀戀氀椀挀 class MyActivity extends Activity implements HandleClick{ ...

效果图:

直接上代码

[java]

public class MyActivity extends Activity implements HandleClick{

private ExpandableListView listView;

private int lastClick = -1;//上一次点击的group的position

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

listView = (ExpandableListView)findViewById(R.id.listView);

//去掉前面的箭头图标

listView.setGroupIndicator(null);

MyExpandAdapter adapter = new MyExpandAdapter(this);

adapter.setHnadleClick(this);

listView.setAdapter(adapter);

listView.setOnGroupClickListener(new OnGroupClickListener() {

public boolean onGroupClick(ExpandableListView parent, View v,

int groupPosition, long id) {

if(lastClick == -1)

{

listView.expandGroup(groupPosition);

}

if(lastClick != -1 && lastClick != groupPosition)

{

listView.collapseGroup(lastClick);

listView.expandGroup(groupPosition);

}

else if(lastClick == groupPosition)

{

if(listView.isGroupExpanded(groupPosition))

listView.collapseGroup(groupPosition);

else if(!listView.isGroupExpanded(groupPosition))

listView.expandGroup(groupPosition);

}

lastClick = groupPosition;

return true;

}

});

}

public void handleClick(int type) {

Toast.makeText(MyActivity.this, "...点了一下...", Toast.LENGTH_SHORT).show();

}

}

适配器:

[java]

public class MyExpandAdapter extends BaseExpandableListAdapter{

private Context context;

private String[] roomName= new String[]{"房间1","房间2","房间3","房间4","房间5"};

private String[] peoNum = new String[]{"1323人","6654人","86554人","6565人","7967人"};

private String[] startTime = new String[]{"马上开始","1分钟","2分钟","3分钟","4分钟"};

private HandleClick handleClick;

public interface HandleClick

{

public void handleClick(int type);

}

public void setHnadleClick(HandleClick hc)

{

this.handleClick = hc;

}

public MyExpandAdapter(Context context)

{

this.context = context;

}

public boolean isChildSelectable(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean hasStableIds() {

// TODO Auto-generated method stub

return false;

}

@Override

public View getGroupView(int groupPosition, boolean isExpanded,

View convertView, ViewGroup parent) {

convertView = (RelativeLayout)RelativeLayout.inflate(context, R.layout.group, null);

TextView tv_roomName = (TextView)convertView.findViewById(R.id.tv_roomName);

TextView tv_time = (TextView)convertView.findViewById(R.id.tv_time);

TextView tv_peoNum = (TextView)convertView.findViewById(R.id.tv_peoNum);

tv_roomName.setText(roomName[groupPosition]);

tv_time.setText(peoNum[groupPosition]);

tv_peoNum.setText(startTime[groupPosition]);

return convertView;

}

@Override

public long getGroupId(int groupPosition) {

// TODO Auto-generated method stub

return 0;

}

@Override

public int getGroupCount() {

// TODO Auto-generated method stub

return roomName.length;

}

@Override

public Object getGroup(int groupPosition) {

// TODO Auto-generated method stub

return null;

}

@Override

public int getChildrenCount(int groupPosition) {

// TODO Auto-generated method stub

return 1;

}

@Override

public View getChildView(int groupPosition, int childPosition,

boolean isLastChild, View convertView, ViewGroup parent) {

convertView = (LinearLayout)LinearLayout.inflate(context, R.layout.child, null);

TextView child_startTime = (TextView)convertView.findViewById(R.id.child_startTime);

TextView child_peoNum = (TextView)convertView.findViewById(R.id.child_peoNum);

Button child_button = (Button)convertView.findViewById(R.id.child_button);

child_startTime.setText(startTime[groupPosition]);

child_peoNum.setText(peoNum[groupPosition]);

child_button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

handleClick.handleClick(1);

}

});

return convertView;

}

public long getChildId(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return 0;

}

@Override

public Object getChild(int groupPosition, int childPosition) {

// TODO Auto-generated method stub

return null;

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港