added messages

This commit is contained in:
Niklas
2020-01-16 15:54:15 +01:00
committed by Shembull
parent 4129d1d0e5
commit b1c47b85bb
5 changed files with 58 additions and 11 deletions

View File

@@ -7,18 +7,19 @@ import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle; import android.os.Bundle;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
ArrayList<String> mData; ArrayList<Message> mData;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
mData = new ArrayList<>(); mData = new ArrayList<>();
mData.add("eins"); mData.add(new Message("Niklas", "Eine super duper Nachricht", new Date()));
mData.add("zwei"); mData.add(new Message("Joel", "Eine super Nachricht", new Date()));
mData.add("drei"); mData.add(new Message("Max", "Eine Nachricht", new Date()));
MyAdapter myAdapter = new MyAdapter(mData); MyAdapter myAdapter = new MyAdapter(mData);
RecyclerView mRecyclerView = findViewById(R.id.recyclerView); RecyclerView mRecyclerView = findViewById(R.id.recyclerView);

View File

@@ -0,0 +1,15 @@
package com.example.recyclerview;
import java.util.Date;
class Message {
String sender;
String text;
Date date;
Message(String aSender, String aText, Date aDate) {
sender = aSender;
text = aText;
date = aDate;
}
}

View File

@@ -3,6 +3,7 @@ package com.example.recyclerview;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@@ -11,9 +12,9 @@ import java.util.ArrayList;
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
ArrayList<String> mData; ArrayList<Message> mData;
public MyAdapter(ArrayList<String> aData) { public MyAdapter(ArrayList<Message> aData) {
mData = aData; mData = aData;
} }
@@ -21,14 +22,19 @@ public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
@Override @Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext()); LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View newView = inflater.inflate(R.layout.one_row_layout, parent, false); View newView = inflater.inflate(R.layout.message_layout, parent, false);
MyViewHolder myViewHolder = new MyViewHolder(newView); MyViewHolder myViewHolder = new MyViewHolder(newView);
return myViewHolder; return myViewHolder;
} }
@Override @Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.mTextView.setText(mData.get(position)); TextView sender = holder.mTextView.findViewById(R.id.sender_tv);
sender.setText(mData.get(position).sender);
TextView text = holder.mTextView.findViewById(R.id.text_tv);
text.setText(mData.get(position).text);
TextView date = holder.mTextView.findViewById(R.id.date_tv);
date.setText(mData.get(position).date.toString());
} }
@Override @Override

View File

@@ -1,15 +1,15 @@
package com.example.recyclerview; package com.example.recyclerview;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.LinearLayout;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
public class MyViewHolder extends RecyclerView.ViewHolder { public class MyViewHolder extends RecyclerView.ViewHolder {
TextView mTextView; LinearLayout mTextView;
public MyViewHolder(@NonNull View itemView) { public MyViewHolder(@NonNull View itemView) {
super(itemView); super(itemView);
mTextView = (TextView) itemView; mTextView = (LinearLayout) itemView;
} }
} }

View File

@@ -0,0 +1,25 @@
<?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="100dp"
android:orientation="vertical">
<TextView
android:id="@+id/sender_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/text_tv"
android:layout_width="match_parent"
android:layout_height="62dp"
android:text="TextView" />
<TextView
android:id="@+id/date_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAlignment="textEnd" />
</LinearLayout>