diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 40ca0af..6a9fb71 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,10 +11,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AndroidFundamentalsMai2021">
-
-
-
-
+
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailAdapter.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailAdapter.java
deleted file mode 100644
index aba7a85..0000000
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.magdamiu.androidfundamentalsmai2021;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.List;
-
-public class EmailAdapter extends RecyclerView.Adapter {
- private List emails;
-
- public EmailAdapter(List emails) {
- this.emails = emails;
- }
-
- // creates the item view, only the ui elements (it's like a template)
- @NonNull
- @Override
- public EmailViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.email_item, parent, false);
- return new EmailViewHolder(itemView);
- }
-
- // fills the item with the corresponding element from the list (data source)
- @Override
- public void onBindViewHolder(@NonNull EmailViewHolder holder, int position) {
- Mail currentMail = emails.get(position);
- holder.getTextViewSender().setText(currentMail.getSenderName());
- holder.getTextViewSubject().setText(currentMail.getSubject());
- }
-
- // decides how many items(total number) to create in our recycler view
- @Override
- public int getItemCount() {
- return emails.size();
- }
-}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailViewHolder.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailViewHolder.java
deleted file mode 100644
index 08128fe..0000000
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailViewHolder.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.magdamiu.androidfundamentalsmai2021;
-
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-// the class associated to the item of the recycler view
-// each ui element from the item should have a dedicated field in this class
-public class EmailViewHolder extends RecyclerView.ViewHolder {
- final private TextView textViewSender;
- final private TextView textViewSubject;
-
- public EmailViewHolder(@NonNull View itemView) {
- super(itemView);
-
- textViewSender = itemView.findViewById(R.id.textViewSender);
- textViewSubject = itemView.findViewById(R.id.textViewSubject);
- }
-
-
- public TextView getTextViewSender() {
- return textViewSender;
- }
-
- public TextView getTextViewSubject() {
- return textViewSubject;
- }
-}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailsActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailsActivity.java
deleted file mode 100644
index fed34c9..0000000
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/EmailsActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.magdamiu.androidfundamentalsmai2021;
-
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.os.Bundle;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class EmailsActivity extends AppCompatActivity {
-
- private List emails;
-
- private RecyclerView recyclerViewEmails;
- private RecyclerView.LayoutManager layoutManager;
- private EmailAdapter emailAdapter;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_emails);
-
- // data source for our RecyclerView
- populateListOfEmails();
-
- // init the ui elements
- initView();
-
- // set the linear layout manager to our recycler view
- setLayoutManager();
-
- // set the adapter to our recycler view
- setAdapter();
- }
-
- private void initView() {
- recyclerViewEmails = findViewById(R.id.recyclerViewEmails);
- }
-
- private void populateListOfEmails() {
- emails = new ArrayList<>();
- Mail newEmail = new Mail(1, "Magda", "Curs Android");
- emails.add(newEmail);
- int index;
- for (int i = 1; i < 20; i++) {
- index = i + 1;
- newEmail = new Mail(index, "Sender " + index, "Subject " + index);
- emails.add(newEmail);
- }
- }
-
- private void setLayoutManager() {
- layoutManager = new LinearLayoutManager(this);
- recyclerViewEmails.setLayoutManager(layoutManager);
- }
-
- private void setAdapter() {
- emailAdapter = new EmailAdapter(emails);
- recyclerViewEmails.setAdapter(emailAdapter);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Mail.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Mail.java
deleted file mode 100644
index 33eff91..0000000
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Mail.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.magdamiu.androidfundamentalsmai2021;
-
-public class Mail {
- private int id;
- private String senderName;
- private String subject;
-
- public Mail(int id, String senderName, String subject) {
- this.id = id;
- this.senderName = senderName;
- this.subject = subject;
- }
-
- public String getSenderName() {
- return senderName;
- }
-
- public void setSenderName(String senderName) {
- this.senderName = senderName;
- }
-
- public String getSubject() {
- return subject;
- }
-
- public void setSubject(String subject) {
- this.subject = subject;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java
index 8228918..a421a9e 100644
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java
@@ -22,7 +22,7 @@ public void startMainActivityOnClick(View view) {
public void startRecyclerViewActivityOnClick(View view) {
// starts from the current activity, and moves the user to the EmailsActivity screen
- Intent intentToStartEmailsActivity = new Intent(StartActivity.this, EmailsActivity.class);
+ Intent intentToStartEmailsActivity = new Intent(StartActivity.this, StudentActivity.class);
startActivity(intentToStartEmailsActivity);
}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Student.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Student.java
new file mode 100644
index 0000000..b8a1617
--- /dev/null
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/Student.java
@@ -0,0 +1,37 @@
+package com.magdamiu.androidfundamentalsmai2021;
+
+public class Student {
+ private int id;
+ private String firstName;
+ private String lastName;
+
+ public Student(int id, String firstName, String lastName) {
+ this.id = id;
+ this.firstName = firstName;
+ this.lastName = lastName;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentActivity.java
new file mode 100644
index 0000000..253ead4
--- /dev/null
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentActivity.java
@@ -0,0 +1,66 @@
+package com.magdamiu.androidfundamentalsmai2021;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StudentActivity extends AppCompatActivity {
+
+ private List students;
+ private static Context context;
+ private RecyclerView recyclerView;
+ private RecyclerView.LayoutManager layoutManager;
+ private StudentAdapter studentAdapter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ StudentActivity.context = getApplicationContext();
+ setContentView(R.layout.activity_students);
+
+ // data source for our RecyclerView
+ populateListOfStudents();
+
+ // init the UI elements
+ initView();
+
+ // set the linear layout manager to our recycler view
+ setLayoutManager();
+
+ // set the adapter to our recycler view
+ setAdapter();
+ }
+
+ private void initView() {
+ recyclerView = findViewById(R.id.recyclerViewStudents);
+ }
+
+ private void populateListOfStudents() {
+ students = new ArrayList<>();
+ int index;
+ for (int i = 0; i < 20; i++) {
+ index = i + 1;
+ students.add(new Student(index, "FirstName " + index, "LastName " + index));
+ }
+ }
+
+ private void setLayoutManager() {
+ layoutManager = new LinearLayoutManager(this);
+ recyclerView.setLayoutManager(layoutManager);
+ }
+
+ private void setAdapter() {
+ studentAdapter = new StudentAdapter(students);
+ recyclerView.setAdapter(studentAdapter);
+ }
+
+ public static Context getAppContext() {
+ return StudentActivity.context;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentAdapter.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentAdapter.java
new file mode 100644
index 0000000..90e0ceb
--- /dev/null
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentAdapter.java
@@ -0,0 +1,44 @@
+package com.magdamiu.androidfundamentalsmai2021;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.core.content.res.ResourcesCompat;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.List;
+
+public class StudentAdapter extends RecyclerView.Adapter {
+ private final List students;
+
+ public StudentAdapter(List students) {
+ this.students = students;
+ }
+
+ @NonNull
+ @Override
+ public StudentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.student_item, parent, false);
+ return new StudentViewHolder(itemView);
+ }
+
+ // fills the item with the corresponding element from the list (data source)
+ @Override
+ public void onBindViewHolder(@NonNull StudentViewHolder holder, int position) {
+ Student currentStudent = students.get(position);
+ if (position % 2 == 1){
+ holder.getStudentView().setBackgroundColor(ContextCompat.getColor(StudentActivity.getAppContext(), R.color.grey));
+ }
+ holder.getTextFirstName().setText(currentStudent.getFirstName());
+ holder.getTextLastName().setText(currentStudent.getLastName());
+ }
+
+ // decides how many items(total number) to create in our recycler view
+ @Override
+ public int getItemCount() {
+ return students.size();
+ }
+}
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentViewHolder.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentViewHolder.java
new file mode 100644
index 0000000..9535dce
--- /dev/null
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StudentViewHolder.java
@@ -0,0 +1,36 @@
+package com.magdamiu.androidfundamentalsmai2021;
+
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+// the class associated to the item of the recycler view
+// each ui element from the item should have a dedicated field in this class
+public class StudentViewHolder extends RecyclerView.ViewHolder {
+ final private LinearLayout studentView;
+ final private TextView textFirstName;
+ final private TextView textLastName;
+
+ public StudentViewHolder(@NonNull View itemView) {
+ super(itemView);
+ studentView = itemView.findViewById(R.id.student);
+ textFirstName = itemView.findViewById(R.id.textFirstName);
+ textLastName = itemView.findViewById(R.id.textLastName);
+ }
+
+
+ public TextView getTextFirstName() {
+ return textFirstName;
+ }
+
+ public TextView getTextLastName() {
+ return textLastName;
+ }
+
+ public LinearLayout getStudentView() {
+ return studentView;
+ }
+}
diff --git a/app/src/main/res/layout/activity_emails.xml b/app/src/main/res/layout/activity_students.xml
similarity index 84%
rename from app/src/main/res/layout/activity_emails.xml
rename to app/src/main/res/layout/activity_students.xml
index 832ed26..29ad936 100644
--- a/app/src/main/res/layout/activity_emails.xml
+++ b/app/src/main/res/layout/activity_students.xml
@@ -4,10 +4,10 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".EmailsActivity">
+ tools:context=".StudentActivity">
diff --git a/app/src/main/res/layout/email_item.xml b/app/src/main/res/layout/student_item.xml
similarity index 70%
rename from app/src/main/res/layout/email_item.xml
rename to app/src/main/res/layout/student_item.xml
index 779702e..00f95a8 100644
--- a/app/src/main/res/layout/email_item.xml
+++ b/app/src/main/res/layout/student_item.xml
@@ -1,19 +1,19 @@
+ android:layout_height="wrap_content" />
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index d8ce349..0817aa5 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,4 +8,5 @@
#FF000000
#FFFFFFFF
#ff3412
+ #CCCCCC
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b363a5c..72646d9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
- Curs Android Fundamentals
+ Students
Hello World from Android!
This is my first TextView
I am a button