diff --git a/app/src/main/java/com/example/recyclerview/MainActivity.java b/app/src/main/java/com/example/recyclerview/MainActivity.java index 6eb2931..6692d53 100644 --- a/app/src/main/java/com/example/recyclerview/MainActivity.java +++ b/app/src/main/java/com/example/recyclerview/MainActivity.java @@ -7,18 +7,19 @@ import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; import java.util.ArrayList; +import java.util.Date; public class MainActivity extends AppCompatActivity { - ArrayList mData; + ArrayList mData; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mData = new ArrayList<>(); - mData.add("eins"); - mData.add("zwei"); - mData.add("drei"); + mData.add(new Message("Niklas", "Eine super duper Nachricht", new Date())); + mData.add(new Message("Joel", "Eine super Nachricht", new Date())); + mData.add(new Message("Max", "Eine Nachricht", new Date())); MyAdapter myAdapter = new MyAdapter(mData); RecyclerView mRecyclerView = findViewById(R.id.recyclerView); diff --git a/app/src/main/java/com/example/recyclerview/Message.java b/app/src/main/java/com/example/recyclerview/Message.java new file mode 100644 index 0000000..b2abcc0 --- /dev/null +++ b/app/src/main/java/com/example/recyclerview/Message.java @@ -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; + } +} diff --git a/app/src/main/java/com/example/recyclerview/MyAdapter.java b/app/src/main/java/com/example/recyclerview/MyAdapter.java index 326a762..cf55e99 100644 --- a/app/src/main/java/com/example/recyclerview/MyAdapter.java +++ b/app/src/main/java/com/example/recyclerview/MyAdapter.java @@ -3,6 +3,7 @@ package com.example.recyclerview; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -11,9 +12,9 @@ import java.util.ArrayList; public class MyAdapter extends RecyclerView.Adapter { - ArrayList mData; + ArrayList mData; - public MyAdapter(ArrayList aData) { + public MyAdapter(ArrayList aData) { mData = aData; } @@ -21,14 +22,19 @@ public class MyAdapter extends RecyclerView.Adapter { @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { 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); return myViewHolder; } @Override 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 diff --git a/app/src/main/java/com/example/recyclerview/MyViewHolder.java b/app/src/main/java/com/example/recyclerview/MyViewHolder.java index 226c337..9d9e1b4 100644 --- a/app/src/main/java/com/example/recyclerview/MyViewHolder.java +++ b/app/src/main/java/com/example/recyclerview/MyViewHolder.java @@ -1,15 +1,15 @@ package com.example.recyclerview; import android.view.View; -import android.widget.TextView; +import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; public class MyViewHolder extends RecyclerView.ViewHolder { - TextView mTextView; + LinearLayout mTextView; public MyViewHolder(@NonNull View itemView) { super(itemView); - mTextView = (TextView) itemView; + mTextView = (LinearLayout) itemView; } } diff --git a/app/src/main/res/layout/message_layout.xml b/app/src/main/res/layout/message_layout.xml new file mode 100644 index 0000000..23f8cf8 --- /dev/null +++ b/app/src/main/res/layout/message_layout.xml @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file