实现
1 在main的xml布局中创建一个listview
2 新建一个item的xml作为listview的子布局实体类
3 创建一个myitem的实体类
4 创建一个adapter
5 为listview设置adapter
一 activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" tools:context=".MainActivity"> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ListView> </LinearLayout>
二 item.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:gravity="center" android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是0" android:layout_alignParentTop="true" android:layout_alignBottom="@+id/button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:id="@+id/button" /> </RelativeLayout>
三 MyItem.java
package com.test.listview; public class MyItem { private String text; MyItem(String text){ this.text=text; } public void setText(String text) { this.text = text; } public String getText() { return text; } }
四 MyAdapter.java
package com.test.listview; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import java.util.List; public class MyAdapter extends ArrayAdapter<MyItem> { int resource; Context context; public MyAdapter(Context context, int resource, List<MyItem> objects) { super(context, resource, objects); this.resource=resource; this.context=context; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view= LayoutInflater.from(context).inflate(resource,null); MyItem myItem=getItem(position); TextView textView= (TextView) view.findViewById(R.id.text); textView.setText(myItem.getText()); return view; } }
五 MainActivity.java
package com.test.listview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
List<MyItem> list=new ArrayList<MyItem>();//存放数据的list ListView listView= (ListView) findViewById(R.id.listView); MyItem myItem=new MyItem("这个一"); list.add(myItem); MyItem myItem2=new MyItem("这个二"); list.add(myItem2); MyItem myItem3=new MyItem("这个三"); list.add(myItem3); MyItem myItem4=new MyItem("这个四"); list.add(myItem4); MyItem myItem5=new MyItem("这个五"); list.add(myItem5); MyItem myItem6=new MyItem("这个六"); list.add(myItem6); MyItem myItem7=new MyItem("这个七"); list.add(myItem7); MyItem myItem8=new MyItem("这个八"); list.add(myItem8); MyAdapter myAdapter=new MyAdapter(MainActivity.this,R.layout.item,list);//实体适配器 listView.setAdapter(myAdapter);//设置适配器 } }