要实现这样一个效果:
一、 xml 部分
加入一个 listview
<ListView
android:divider="@drawable/blue"
android:id="@+id/listview1"
android:dividerHeight="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent" />
二、java 部分
public class MainActivity extends AppCompatActivity {
# 定义一个listview
ListView lv;
# 定义一个简单适配器
SimpleAdapter adapter;
# 需要添加的字符列表
String[]title = new String[]{"我的设备","双卡和移动","蓝牙","个人热点","显示","壁纸"};
# 需要添加的图片列表
int[]images = new int[]{R.drawable.aa,R.drawable.bb,R.drawable.cc,R.drawable.dd,R.drawable.ee,R.drawable.ff};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simpleadaptor);
# 绑定 listview
lv = findViewById(R.id.listview1);
# 将需要添加的内容放入列表
List<Map<String,Object>>list = new ArrayList<>();
for(int i=0;i<title.length;i++){
Map<String,Object>map = new HashMap<>();
map.put("name",title[i]);
map.put("image",images[i]);
list.add(map);
}
# 关键是这里面的参数:1)固定的参数 2)列表内容 3)布局资源 4)将列表内容放入对应的资源
adapter = new SimpleAdapter(MainActivity.this,list,
R.layout.item1,new String[]{"name","image"},
new int[]{R.id.textView11,R.id.imageView15});
# 加载适配器
lv.setAdapter(adapter);
# 添加点击事件
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this,title[position], Toast.LENGTH_SHORT).show();
}
});
三、布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical">
<ImageView
android:id="@+id/imageView15"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="10dp" # 间隔
app:srcCompat="@drawable/aa" />
<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="TextView" />
</LinearLayout>