Skip to content
Snippets Groups Projects
Commit 1c02d0b1 authored by Vietanh Le Trung's avatar Vietanh Le Trung
Browse files

subject done

event can be seen
asdasdds
parent e14ec28f
No related branches found
No related tags found
No related merge requests found
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 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();
};
}
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);
}
}
......@@ -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){
......
......@@ -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;
}
}
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment