简单ListView控件的使用
1.在Layout里面放置一个ListView
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
2.动态加入数据,并显示
private String[] data = { "Apple", "Banana", "Orange", "Watermelon",
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango",
"Mango", "Mango", "Mango", "Mango" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.MainActivity, data);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
自定义ListView控件的使用
0.准备1张图片放在drawable
ID为:listview.png
1.在新建两个Activity
Activity为:FriendActivity MsgActivity
2.新建一个包
包名为:com.example.MyListView
(1)在此包下新建两个类
ID为:Msg Friend
Msg代码为:
public class Msg
{
private int imageId;
private String name;
private String message;
private String data;
//构造函数
public Msg(int imageId,String name,String message,String data)
{
this.imageId=imageId;
this.name=name;
this.message=message;
this.data=data;
}
public int getImageId()
{
return imageId;
}
public String getName()
{
return name;
}
public String getMessage()
{
return message;
}
public String getData()
{
return data;
}
}
Friend代码为:
public class Friend
{
private int imageId;
private String name;
//构造函数
public Friend(int imageId,String name)
{
this.imageId=imageId;
this.name=name;
}
public int getImageId()
{
return imageId;
}
public String getName()
{
return name;
}
}
(2)在此包下继承两个适配器
ID为:MsgAdapter FriendAdapter
MsgAdapter代码为:
public class MsgAdapter extends ArrayAdapter<Msg>
{
private int resourceId;
public MsgAdapter(Context context, int textViewResourceId, List<Msg> objects)
{
super(context,textViewResourceId,objects);
resourceId=textViewResourceId;
}
@Override
public View getView(int position,View convertView,ViewGroup parent)
{
//获取当前项的实例
Msg fruit=getItem(position);
View view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
ImageView msgImage=(ImageView)view.findViewById(R.id.msg_image);
TextView msgName=(TextView) view.findViewById(R.id.msg_name);
TextView msgMessage=(TextView) view.findViewById(R.id.msg_msg);
TextView msgData=(TextView) view.findViewById(R.id.msg_data);
msgImage.setImageResource(fruit.getImageId());
msgName.setText(fruit.getName());
msgMessage.setText(fruit.getMessage());
msgData.setText(fruit.getData());
return view;
}
}
FriendAdapter为:
public class FriendAdapter extends ArrayAdapter<Friend>
{
private int resourceId;
public FriendAdapter(Context context, int textViewResourceId, List<Friend> objects)
{
super(context,textViewResourceId,objects);
resourceId=textViewResourceId;
}
@Override
public View getView(int position,View convertView,ViewGroup parent)
{
//获取当前项的实例
Friend fruit=getItem(position);
View view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
ImageView frinedImage=(ImageView)view.findViewById(R.id.friend_image);
TextView frinedName=(TextView) view.findViewById(R.id.friend_name);
frinedImage.setImageResource(fruit.getImageId());
frinedName.setText(fruit.getName());
return view;
}
}
3.设置两个Activity的布局文件
MsgActivity的Layout文件
<TextView
android:id="@+id/texttest1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="" />
<ListView
android:id="@+id/list_msgview"
android:name = "com.example.MyListView.MsgAdapter"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
FrinendActivity的Layout文件
<TextView
android:id="@+id/texttest2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="" />
<ListView
android:id="@+id/list_friendview"
android:name = "com.example.MyListView.FriendAdapter"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
4.新建两个ListItemXML
ID为:item_msg item_friend
item_msg的代码为:
<?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:minHeight="63.5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/msg_image"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/listview" />
<TextView
android:id="@+id/msg_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_alignParentRight="true"
android:textColor="#9D9CA1"
android:layout_marginRight = "12dp"
android:text="周四" />
<TextView
android:id="@+id/msg_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/msg_image"
android:text="名字"
android:textColor="#000000"
android:textSize="17sp"
android:layout_marginLeft="80dp"/>
<TextView
android:id="@+id/msg_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/msg_image"
android:layout_alignLeft="@+id/msg_name"
android:text="语音"
android:textColor="#9D9CA1" />
</RelativeLayout>
</LinearLayout>
item_msg的代码为:
<?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:minHeight="51dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/friend_image"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/listview" />
<TextView
android:id="@+id/friend_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/friend_image"
android:text="TextView"
android:textColor="#000000" />
</RelativeLayout>
</LinearLayout>
5.处理Activity代码
MsgActivity:
public class MsgActivity extends Activity
{
private List<Msg> msgList=new ArrayList<Msg>();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_msg);
//处理聊天ListView
initMsgList();
MsgAdapter msgadapter=new MsgAdapter(MsgActivity.this,R.drawable.item_msg,msgList);
ListView msglistview = (ListView) findViewById(R.id.list_msgview);
msglistview.setAdapter(msgadapter);
}
private void initMsgList()
{
for(int i=0;i<1;i++)
{
Msg apple=new Msg(R.drawable.listview,"1","恭喜您11111","周一");
msgList.add(apple);
Msg orange=new Msg(R.drawable.listview,"2","恭喜您11112","周二");
msgList.add(orange);
Msg banana=new Msg(R.drawable.listview,"3","恭喜您3","周三");
msgList.add(banana);
Msg waterlenmo=new Msg(R.drawable.listview,"4","恭喜您4","周一");
msgList.add(waterlenmo);
Msg pear=new Msg(R.drawable.listview,"5","恭喜您","周一");
msgList.add(pear);
Msg grape=new Msg(R.drawable.listview,"6","恭喜您","周一");
msgList.add(grape);
Msg pineapple=new Msg(R.drawable.listview,"7","恭喜您","周一");
msgList.add(pineapple);
Msg strawberry=new Msg(R.drawable.listview,"8","恭喜您","周一");
msgList.add(strawberry);
Msg cherry=new Msg(R.drawable.listview,"数据传输","恭喜您","周一");
msgList.add(cherry);
Msg mango=new Msg(R.drawable.listview,"中信mango中心","恭喜您","周一");
msgList.add(mango);
}
}
}
friendActivity代码:
public class FriendActivity extends Activity
{
private List<Friend> friendList=new ArrayList<Friend>();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_friend);
initFriendList();
FriendAdapter friendadapter=new FriendAdapter(FriendActivity.this,R.drawable.item_friend,friendList);
ListView friendlistview = (ListView) findViewById(R.id.list_friendview);
friendlistview.setAdapter(friendadapter);
}
private void initFriendList()
{
for(int i=0;i<1;i++)
{
Friend apple=new Friend(R.drawable.listview,"中信信用卡中心");
friendList.add(apple);
Friend orange=new Friend(R.drawable.listview,"潘1");
friendList.add(orange);
Friend banana=new Friend(R.drawable.listview,"王2");
friendList.add(banana);
Friend waterlenmo=new Friend(R.drawable.listview,"王3");
friendList.add(waterlenmo);
Friend pear=new Friend(R.drawable.listview,"刘4");
friendList.add(pear);
Friend grape=new Friend(R.drawable.listview,"王5");
friendList.add(grape);
Friend pineapple=new Friend(R.drawable.listview,"刘6");
friendList.add(pineapple);
Friend strawberry=new Friend(R.drawable.listview,"王建");
friendList.add(strawberry);
Friend cherry=new Friend(R.drawable.listview,"数据传输");
friendList.add(cherry);
Friend mango=new Friend(R.drawable.listview,"中信mango中心");
friendList.add(mango);
}
}
}
附上Demo代码:https://download.csdn.net/download/nonecode/10627039