//在MainActivity中
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到ListView的id,并弄好listView适配器(new出类的实体,使其可以在此运用)
ListView listView = findViewById(R.id.list);
MyAdapter adapter = new MyAdapter();
listView.setAdapter(adapter);
//在MyAdapter中
public class MyAdapter extends BaseAdapter {
// 私有设置数据源
private int photo[] = {R.drawable.szy,R.drawable.hsr};
private String name[] = {"水煮鱼","红烧肉"};
private List<Map<String,Object>> data =new ArrayList<>();
// 通过getData()方法,运用ArrayList集合遍历加载
private List<Map<String,Object>> getData(){
List<Map<String,Object>> list =new ArrayList<>();
for (int i = 0; i < 2; i++) {
Map<String,Object> map = new HashMap<>();
map.put("name",name[i]);
map.put("photo",photo[i]);
list.add(map);
}
System.out.println(list);
return list;
}
// 将getData()方法值赋予data,再返回data最大字节,getData()方法賦予list集合,获取
@Override
public int getCount() {
data = getData();
return data.size();
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.myadapter,viewGroup,false);
//找到id,替换数据
ImageView imageView = view.findViewById(R.id.iv);
TextView textView = view.findViewById(R.id.t1);
//替换数据操作
imageView.setImageResource((Integer) data.get(i).get("photo"));
textView.setText((String) data.get(i).get("name"));
return view;
}
}
在XML中,可以自己弄
1.在activity_main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ListView
android:id="@+id/list"
android:layout_width="100dp"
android:layout_height="wrap_content"
/>
2.在自己设置的XML中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/szy"/>
<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="行贿金额"
android:textSize="25sp"/>
</LinearLayout>
</LinearLayout>
总而言之,数据源的设置与替换,XML的设置具有自由性与依附传递性。
本文含有隐藏内容,请 开通VIP 后查看