activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.expandablelistview.MainActivity" >
<ExpandableListView
android:id="@+id/ExpandableListView1_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:groupIndicator="@null"
>
</ExpandableListView>
</RelativeLayout>
<!-- android:groupIndicator="@null"去掉自带的箭头图标 -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/p_w_picpathViewgroup_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
/>
<TextView
android:id="@+id/textViewgroup_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
child_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/p_w_picpathViewchild_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:padding="10dp"
/>
<TextView
android:id="@+id/textViewchild_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sdfds"
android:padding="10dp"
/>
</LinearLayout>
MainActivity
package com.example.expandablelistview;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ExpandableListView expandableListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
expandableListView=(ExpandableListView) findViewById(R.id.ExpandableListView1_1);
expandableListView.setAdapter(new MyExpandableListAdapter());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
class MyExpandableListAdapter extends BaseExpandableListAdapter{
private String[] skills = new String[]{
"WORD", "EXCEL", "EMAIL", "PPT"
};
private String[][] groups = new String[][]{
{"文档编辑", "文档排版", "文档处理", "文档打印"},
{"表格编辑", "表格排版", "表格处理", "表格打印"},
{"收发邮件", "管理邮箱", "登录登出", "注册绑定"},
{"演示编辑", "演示排版", "演示处理", "演示打印"},
};
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return skills.length;
}
//二级列表的数量
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return groups[groupPosition].length;
}
//返回每一组的对象
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return skills[groupPosition];
}
//返回每组中的列表项
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return groups[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null){
convertView=getLayoutInflater().inflate(R.layout.group_item, null);
}
ImageView p_w_picpathView=(ImageView) convertView.findViewById(R.id.p_w_picpathViewgroup_1);
TextView textView=(TextView) convertView.findViewById(R.id.textViewgroup_1);
p_w_picpathView.setImageResource(R.drawable.ic_launcher);
textView.setText(skills[groupPosition]);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null){
convertView=getLayoutInflater().inflate(R.layout.child_item, null);
ImageView p_w_picpathView=(ImageView) convertView.findViewById(R.id.p_w_picpathViewchild_1);
TextView textView=(TextView) convertView.findViewById(R.id.textViewchild_1);
p_w_picpathView.setImageResource(R.drawable.ic_launcher);
textView.setText(groups[groupPosition][childPosition]);
}
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。