Message的数据显示存放
Activity内容
public class Messages {
private int imageId;
private String contact;
private String message;
private String time;
public Messages(int imageId, String contact, String message, String time) {
this.imageId = imageId;
this.contact = contact;
this.message = message;
this.time = time;
}
public int getImageId() {
return imageId;
}
public String getContact() {
return contact;
}
public String getMessage() {
return message;
}
public String getTime() {
return time;
}
}
XML内容
<?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:orientation="vertical">
<LinearLayout android:layout_width="match_parent"
android:layout_height="53dp"
android:layout_marginTop="3dp"
android:paddingTop="3dp"
android:orientation="horizontal">
<ImageView android:layout_width="50dp"
android:layout_height="match_parent"
android:id="@+id/imageId"/>
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/contact"
android:textSize="18sp"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/message"
android:layout_alignParentTop="true"
android:layout_marginTop="2dp"/>
</RelativeLayout>
</LinearLayout>
<TextView android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="3"
android:gravity="center"
android:id="@+id/time"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="0.1dp"
android:layout_marginTop="3dp"
android:background="#000000"/>
</LinearLayout>
Message的适配器
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.ViewHolder>{
private List<Messages> MessagesList;
static class ViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
TextView contactText;
TextView messageText;
TextView timeText;
public ViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.imageId);
contactText = (TextView) itemView.findViewById(R.id.contact);
messageText = (TextView) itemView.findViewById(R.id.message);
timeText = (TextView) itemView.findViewById(R.id.time);
}
}
public MessageAdapter(List<Messages> messagesList) {
MessagesList = messagesList;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.messages, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MessageAdapter.ViewHolder holder, int position) {
Messages messages = MessagesList.get(position);
holder.imageView.setImageResource(messages.getImageId());
holder.contactText.setText(messages.getContact());
holder.messageText.setText(messages.getMessage());
holder.timeText.setText(messages.getTime());
}
@Override
public int getItemCount() {
return MessagesList.size();
}
}
main里XML的代码
只一个RecyclerView
public class ChatFragment extends AppCompatActivity{
private List<Messages> messagesList = new ArrayList<Messages>();
private String[] contact = new String[]{"李白","苏轼","诸葛亮","赵云",
"姜维","荀彧","郭嘉","周瑜",
"杨巨源","汤显祖","杜光庭","陈宫",};
private String[] messsage = new String[]{"情不知所起,一往而深",
"生而不可与死,死而不可复生者",
"惊觉相思不露,原来只因已入骨。",
"原来姹紫嫣红开遍,似这般都付与断井颓垣",
"良辰美景奈何天,赏心乐事谁家院",
"朝飞暮卷,云霞翠轩","雨丝风片,烟波画船",
"锦屏人忒看的这韶光贱",
"则为你如花美眷,似水流年。是答儿闲寻遍",
"梦短梦长俱是梦,年来年去是何年",
"人世之事,非人世所可尽",
"这般花花草草由人恋,生生死死随人愿"};
private String[] time = new String[]{"18:59","18:55","18:55","18:53",
"18:50","18:50","18:50","18:49",
"18:47","18:46","18:45","18:45"};
protected void onCreate(Bundle savedInstanceState) {
init();
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycle_view);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(linearLayoutManager);
MessageAdapter messageAdapter = new MessageAdapter(messagesList);
recyclerView.setAdapter(messageAdapter);
}
private void init() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < contact.length; j++) {
Messages messages = new Messages(R.drawable.headphoto, contact[j], messsage[j], time[j]);
messagesList.add(messages);
}
}
}
}