Clean up and go back to replace instead of add/attach/detach
[unical.git] / src / ro / ieval / unical / TrivialFragment.java
1 package ro.ieval.unical;
2
3 import android.app.ActionBar;
4 import android.app.Fragment;
5 import android.app.FragmentTransaction;
6 import android.os.Bundle;
7 import android.view.LayoutInflater;
8 import android.view.View;
9 import android.view.ViewGroup;
10 import android.widget.*;
11
12 import java.text.SimpleDateFormat;
13 import java.util.Date;
14
15 public final class TrivialFragment extends Fragment {
16 private static class OnItemSelectedListener implements android.widget.AdapterView.OnItemSelectedListener{
17 private final View repeatCount;
18 private final View repeatUntil;
19
20 public OnItemSelectedListener(final View repeatCount, final View repeatUntil) {
21 this.repeatCount=repeatCount;
22 this.repeatUntil=repeatUntil;
23 }
24
25 @Override
26 public void onItemSelected(final AdapterView<?> whatever, final View ignored, final int pos, final long id) {
27 switch(pos){
28 case 0:
29 repeatCount.setVisibility(View.GONE);
30 repeatUntil.setVisibility(View.GONE);
31 break;
32 case 1:
33 repeatCount.setVisibility(View.GONE);
34 repeatUntil.setVisibility(View.VISIBLE);
35 break;
36 case 2:
37 repeatCount.setVisibility(View.VISIBLE);
38 repeatUntil.setVisibility(View.GONE);
39 break;
40 default:
41 }
42 }
43
44 @Override public void onNothingSelected(final AdapterView<?> arg0) { /* do nothing */ }
45 }
46
47 private static class OnCheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener{
48 private final LinearLayout layout;
49 private final View root;
50 public OnCheckedChangeListener(final LinearLayout layout, final View root){
51 this.layout=layout;
52 this.root=root;
53 }
54
55 @Override
56 public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
57 if(isChecked) {
58 Utils.setEnabledRecursively(layout, true);
59 final Spinner repeatType = (Spinner) root.findViewById(R.id.repeat_type);
60 repeatType.setOnItemSelectedListener(new OnItemSelectedListener(root.findViewById(R.id.repeat_count),root.findViewById(R.id.repeat_until)));
61 }else {
62 Utils.setEnabledRecursively(layout, false);
63 }
64 }
65 }
66
67 public static final String ARGUMENT_EVENT = "Event";
68 public static final String ARGUMENT_LAYOUT = "layout";
69 private Event ev;
70
71 @Override
72 public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
73 final View view=inflater.inflate(getArguments().getInt(ARGUMENT_LAYOUT), container, false);
74
75 ev=getArguments().getParcelable(ARGUMENT_EVENT);
76 switch (getArguments().getInt(ARGUMENT_LAYOUT)) {
77 case R.layout.add_event_basic_tab:
78 final LinearLayout layout = (LinearLayout) view.findViewById(R.id.repeat_layout);
79 final Switch repeatSwitch = (Switch) view.findViewById(R.id.repeat_switch);
80 Utils.setEnabledRecursively(layout, false);
81
82 repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout, view));
83
84 EditText title = (EditText) view.findViewById(R.id.eventtitle);
85 title.setText(ev.title);
86
87 TextView tstart = (TextView) view.findViewById(R.id.time_start);
88 TextView tend = (TextView) view.findViewById(R.id.time_end);
89 SimpleDateFormat sf=new SimpleDateFormat("HH:MM");
90 Date d=new Date(ev.dtstart);
91 tstart.setText(sf.format(d).toString());
92 d.setTime(ev.dtend);
93 tend.setText(sf.format(d).toString());
94
95 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
96 TextView dstart = (TextView)view.findViewById(R.id.date_start);
97 TextView dend = (TextView)view.findViewById(R.id.date_end);
98 d.setTime(ev.dtstart);
99 dstart.setText(sd.format(d).toString());
100 d.setTime(ev.dtend);
101 dend.setText(sd.format(d).toString());
102 break;
103 case R.layout.add_event_details_tab:
104 EditText description = (EditText) view.findViewById(R.id.description);
105 description.setText(ev.description);
106 break;
107 case R.layout.add_event_other_tab:
108 break;
109 }
110 return view;
111 }
112 }
This page took 0.023215 seconds and 4 git commands to generate.