diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
index 9b4acc7f2987b29557acf9096ed4ea15055d486d..385482f6cc371968d72d0333b2ee8c2202b2c6de 100644
--- a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
@@ -1,32 +1,44 @@
 package com.ireallydontcare.viet.posseidon;
 
 import android.app.DatePickerDialog;
+import android.os.AsyncTask;
 import android.os.Bundle;
 import android.support.design.widget.FloatingActionButton;
 import android.support.design.widget.Snackbar;
 import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.Toolbar;
 import android.view.View;
 
+import com.ireallydontcare.viet.posseidon.adapter.EventAdapter;
 import com.ireallydontcare.viet.posseidon.fragments.NewDialogEventFragment;
 import com.ireallydontcare.viet.posseidon.fragments.NewDialogSubjectFragment;
+import com.ireallydontcare.viet.posseidon.model.Event;
 import com.ireallydontcare.viet.posseidon.model.Subject;
 
 import java.util.Calendar;
 
-public class SubjectActivity extends AppCompatActivity {
+public class SubjectActivity extends AppCompatActivity
+    implements NewDialogEventFragment.NewEventDialogListener {
 
 
-    public static final String SUBJECT_OBJECT_ID= "SUBJECT.ID";
+    public static final String SUBJECT_OBJECT_ID = "SUBJECT.ID";
 
+    public Long subjectId;
+    private RecyclerView eventRecyclerView;
+    private EventAdapter eventAdapter;
+    private RecyclerView.LayoutManager eventLayoutManager;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_subject);
+        subjectId = getIntent().getExtras().getLong("SUBJECT_OBJECT_ID");
         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
         setSupportActionBar(toolbar);
 
+
         FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fabevent);
         fab.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -35,6 +47,32 @@ public class SubjectActivity extends AppCompatActivity {
             }
         });
 
+        eventRecyclerView = (RecyclerView) findViewById(R.id.EventRecyclerView);
+        eventRecyclerView.setHasFixedSize(true);
+        eventLayoutManager = new LinearLayoutManager(this);
+
+
+        eventRecyclerView.setLayoutManager(eventLayoutManager);
+
+        eventAdapter = new EventAdapter();
+        eventRecyclerView.setAdapter(eventAdapter);
+
     }
 
+    @Override
+    public void onEventItemCreated(final Event eventitem) {
+        new AsyncTask<Void, Void, Event>() {
+
+            @Override
+            protected Event doInBackground(Void... voids) {
+                //newItem.id = database.SubjectDao().insert(newItem);
+                return eventitem;
+            }
+
+            @Override
+            protected void onPostExecute(Event event) {
+                eventAdapter.addItem(event);
+            }
+        }.execute();
+    };
 }
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c4a5df41ff9c0c9fa8ad9a4ff9240134991fa81
--- /dev/null
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java
@@ -0,0 +1,65 @@
+package com.ireallydontcare.viet.posseidon.adapter;
+
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.ireallydontcare.viet.posseidon.R;
+import com.ireallydontcare.viet.posseidon.model.Event;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EventAdapter extends RecyclerView.Adapter<EventAdapter.EventViewHolder> {
+    private final List<Event> events;
+
+    public EventAdapter() {
+        this.events = new ArrayList<>();
+    }
+
+    @Override
+    public EventAdapter.EventViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        // create a new view
+        View itemView = LayoutInflater
+                .from(parent.getContext())
+                .inflate(R.layout.item_subject, parent, false);
+
+        EventViewHolder vh = new EventViewHolder(itemView);
+        return vh;
+    }
+    // Replace the contents of a view (invoked by the layout manager)
+    @Override
+    public void onBindViewHolder(final EventViewHolder holder, int position) {
+        // - get element from your dataset at this position
+        // - replace the contents of the view with that element
+        final Event event = events.get(position);
+        holder.event = event;
+    }
+
+    public class EventViewHolder extends RecyclerView.ViewHolder {
+        Event event;
+
+        public EventViewHolder(View itemView) {
+            super(itemView);
+
+            itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+
+                }
+            });
+        }
+    }
+
+    public int getItemCount() {
+        return events.size();
+    }
+
+    public void addItem(Event Event){
+
+        events.add(Event);
+        notifyItemInserted(events.size() - 1);
+    }
+}
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/SubjectAdapter.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/SubjectAdapter.java
index 3db2b6c1ccedee7eaaf2e524eb6f32a685f7ebf7..0c68732d36888e4b1d8abfd04e29138607c20179 100644
--- a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/SubjectAdapter.java
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/SubjectAdapter.java
@@ -47,8 +47,6 @@ public class SubjectAdapter extends RecyclerView.Adapter<SubjectAdapter.SubjectV
         holder.name.setText(subject.name);
         holder.code.setText(subject.code);
         holder.subject = subject;
-
-
     }
 
     public void update(List<Subject> subjects){
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/fragments/NewDialogEventFragment.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/fragments/NewDialogEventFragment.java
index 661cb9c58f41e270cfd8426e63997206e628c833..76c09d56a85d772952f700e84ee0f0c4ccb90320 100644
--- a/app/src/main/java/com/ireallydontcare/viet/posseidon/fragments/NewDialogEventFragment.java
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/fragments/NewDialogEventFragment.java
@@ -3,11 +3,14 @@ package com.ireallydontcare.viet.posseidon.fragments;
 import android.app.DatePickerDialog;
 import android.app.Dialog;
 import android.app.TimePickerDialog;
+import android.content.DialogInterface;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v4.app.DialogFragment;
 
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
 import android.support.v7.app.AlertDialog;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -19,9 +22,14 @@ import android.widget.TimePicker;
 
 import com.ireallydontcare.viet.posseidon.R;
 import com.ireallydontcare.viet.posseidon.SubjectActivity;
+import com.ireallydontcare.viet.posseidon.model.Event;
+import com.ireallydontcare.viet.posseidon.model.Subject;
 
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
+import java.util.Date;
 
 public class NewDialogEventFragment extends DialogFragment {
 
@@ -29,18 +37,24 @@ public class NewDialogEventFragment extends DialogFragment {
 
     private Button dateButton;
     private Button timeButton;
+    private EditText TypeName;
 
 
-    public int asd;
+
+    public interface NewEventDialogListener {
+        void onEventItemCreated(Event event);
+    }
+
+    private NewEventDialogListener listener;
+
+    public long subjectId;
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-//        if (activity instanceof NewDialogSubjectFragment.NewSubjectDialogListener) {
-//            listener = (NewDialogSubjectFragment.NewSubjectDialogListener) activity;
-//        } else {
-//            throw new RuntimeException("Activity must implement the NewShoppingItemDialogListener interface!");
-//        }
-
+        FragmentActivity activity = getActivity();
+        SubjectActivity temp= (SubjectActivity) getActivity();
+        subjectId = temp.subjectId;
+        listener = (NewEventDialogListener) activity;
 
     }
 
@@ -60,6 +74,7 @@ public class NewDialogEventFragment extends DialogFragment {
                 onTimeSelected();
             }
         });
+        TypeName = (EditText) contentView.findViewById(R.id.TypeName);
         return contentView;
     }
 
@@ -70,6 +85,12 @@ public class NewDialogEventFragment extends DialogFragment {
         return new AlertDialog.Builder(requireContext())
                 .setTitle(R.string.new_event_item)
                 .setView(getContentView())
+                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialogInterface, int i) {
+                        listener.onEventItemCreated(getEvent(generateEventTime(),TypeName.getText().toString(),subjectId));
+                    }
+                })
                 .create();
     }
 
@@ -80,14 +101,14 @@ public class NewDialogEventFragment extends DialogFragment {
         @Override
         public void onDateSet(DatePicker view, int year, int monthOfYear,
                               int dayOfMonth) {
-            // TODO Auto-generated method stub
-            //updateLabel();
             setDate(year, monthOfYear, dayOfMonth);
         }
 
     };
 
 
+
+
     public void onDateSelected(){
         new DatePickerDialog(getActivity(), date, myCalendar
                 .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
@@ -112,12 +133,42 @@ public class NewDialogEventFragment extends DialogFragment {
         mTimePicker.show();
 
     }
+    int year; int monthOfYear;int dayOfMonth;
+    int selectedHour; int selectedMinute;
 
     public void setDate(int year, int monthOfYear,
                         int dayOfMonth){
         dateButton.setText("Set");
+        this.year = year;
+        this.monthOfYear = monthOfYear;
+        this.dayOfMonth = dayOfMonth;
     }
     public void setTime(int selectedHour, int selectedMinute){
         timeButton.setText("Set");
+        this.selectedHour = selectedHour;
+        this.selectedMinute = selectedMinute;
+
+    }
+
+    public long generateEventTime(){
+        DateFormat format = new SimpleDateFormat( "yyyy-MM-dd/HH:mm");
+        String dateString = String.valueOf(year)+"-"+String.valueOf(monthOfYear)
+                +"-"+String.valueOf(dayOfMonth)+"/"+String.valueOf(selectedHour)
+                +":"+String.valueOf(selectedMinute);
+        Date date;
+        try{
+            date = format.parse(dateString);
+            return date.getTime();
+        }catch ( Exception e ) {}
+
+        return 0;
+    }
+
+    public Event getEvent(Long time, String type, Long SubjectId){
+        Event event = new Event();
+        event.SubjectId = SubjectId;
+        event.datetime = time;
+        event.type = type;
+        return event;
     }
 }
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/model/Event.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/model/Event.java
index 5c7c5a294c7b5474f59d73cf6970cc06e33a567c..7328e871c3c5f48bb7e7191a8e00ceb365514ae4 100644
--- a/app/src/main/java/com/ireallydontcare/viet/posseidon/model/Event.java
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/model/Event.java
@@ -9,7 +9,7 @@ import android.arch.persistence.room.PrimaryKey;
 public class Event {
 
     @ColumnInfo(name = "datetime")
-    public String datetime;
+    public  Long datetime;
 
     @ColumnInfo(name = "subjectid")
     public Long SubjectId;