//在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 后查看