|
19 | 19 |
|
20 | 20 | import android.os.Bundle; |
21 | 21 | import android.support.v7.app.AppCompatActivity; |
22 | | -import android.text.Editable; |
23 | | -import android.text.TextUtils; |
24 | | -import android.text.TextWatcher; |
25 | | -import android.view.View; |
26 | | -import android.widget.AdapterView; |
27 | | -import android.widget.EditText; |
28 | | -import android.widget.ImageButton; |
29 | | -import android.widget.Spinner; |
30 | | -import android.widget.TextView; |
31 | 22 |
|
32 | 23 | public class MainActivity extends AppCompatActivity { |
33 | 24 |
|
34 | | - private MainFragment mainFragment; |
35 | | - private EditText searchField; |
36 | | - private Spinner moodFilter, genderFilter, itemsPerPage; |
37 | | - public ImageButton previousButton, nextButton; |
38 | | - public EditText pageNumberField; |
39 | | - public TextView tablePaginationDetails; |
40 | | - |
41 | 25 | @Override |
42 | 26 | protected void onCreate(Bundle savedInstanceState) { |
43 | 27 | super.onCreate(savedInstanceState); |
44 | 28 | setContentView(R.layout.activity_main); |
45 | 29 |
|
46 | | - mainFragment = new MainFragment(); |
47 | | - |
48 | | - View tableControls = findViewById(R.id.table_controls); |
49 | | - searchField = findViewById(R.id.query_string); |
50 | | - moodFilter = findViewById(R.id.mood_spinner); |
51 | | - genderFilter = findViewById(R.id.gender_spinner); |
52 | | - itemsPerPage = findViewById(R.id.items_per_page_spinner); |
53 | | - |
54 | | - previousButton = findViewById(R.id.previous_button); |
55 | | - nextButton = findViewById(R.id.next_button); |
56 | | - pageNumberField = findViewById(R.id.page_number_text); |
57 | | - tablePaginationDetails = findViewById(R.id.table_details); |
58 | | - |
59 | | - if(mainFragment.isPaginationEnabled()) { |
60 | | - tableControls.setVisibility(View.VISIBLE); |
61 | | - searchField.addTextChangedListener(onSearchTextChange); |
62 | | - moodFilter.setOnItemSelectedListener(onMoodSelectedListener); |
63 | | - genderFilter.setOnItemSelectedListener(onGenderSelectedListener); |
64 | | - itemsPerPage.setOnItemSelectedListener(onItemsPerPageSelectedListener); |
65 | | - |
66 | | - previousButton.setOnClickListener(onPreviousPageButtonClicked); |
67 | | - nextButton.setOnClickListener(onNextPageButtonClicked); |
68 | | - pageNumberField.addTextChangedListener(onPageTextChanged); |
69 | | - } else { |
70 | | - tableControls.setVisibility(View.GONE); |
71 | | - } |
72 | | - |
73 | 30 | if (savedInstanceState == null) { |
74 | | - getSupportFragmentManager().beginTransaction().add(R.id.activity_container, |
75 | | - mainFragment, mainFragment.getClass().getSimpleName()).commit(); |
| 31 | + getSupportFragmentManager().beginTransaction().add(R.id.activity_container, new |
| 32 | + MainFragment(), MainFragment.class.getSimpleName()).commit(); |
76 | 33 | } |
77 | | - |
78 | | - } |
79 | | - |
80 | | - @Override |
81 | | - protected void onDestroy() { |
82 | | - super.onDestroy(); |
83 | 34 | } |
84 | | - |
85 | | - private TextWatcher onSearchTextChange = new TextWatcher() { |
86 | | - @Override |
87 | | - public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
88 | | - |
89 | | - } |
90 | | - |
91 | | - @Override |
92 | | - public void onTextChanged(CharSequence s, int start, int before, int count) { |
93 | | - mainFragment.filterTable(String.valueOf(s)); |
94 | | - } |
95 | | - |
96 | | - @Override |
97 | | - public void afterTextChanged(Editable s) { |
98 | | - |
99 | | - } |
100 | | - }; |
101 | | - |
102 | | - private AdapterView.OnItemSelectedListener onMoodSelectedListener = new AdapterView.OnItemSelectedListener() { |
103 | | - @Override |
104 | | - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { |
105 | | - mainFragment.filterTableForMood(parent.getItemAtPosition(position).toString()); |
106 | | - } |
107 | | - |
108 | | - @Override |
109 | | - public void onNothingSelected(AdapterView<?> parent) { |
110 | | - |
111 | | - } |
112 | | - }; |
113 | | - |
114 | | - private AdapterView.OnItemSelectedListener onGenderSelectedListener = new AdapterView.OnItemSelectedListener() { |
115 | | - @Override |
116 | | - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { |
117 | | - String filter = ""; |
118 | | - switch (parent.getItemAtPosition(position).toString()) { |
119 | | - case "": |
120 | | - filter = ""; |
121 | | - break; |
122 | | - case "Male": |
123 | | - filter = "boy"; |
124 | | - break; |
125 | | - case "Female": |
126 | | - filter = "girl"; |
127 | | - break; |
128 | | - } |
129 | | - |
130 | | - mainFragment.filterTableForGender(filter); |
131 | | - } |
132 | | - |
133 | | - @Override |
134 | | - public void onNothingSelected(AdapterView<?> parent) { |
135 | | - |
136 | | - } |
137 | | - }; |
138 | | - |
139 | | - private AdapterView.OnItemSelectedListener onItemsPerPageSelectedListener = new AdapterView.OnItemSelectedListener() { |
140 | | - @Override |
141 | | - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { |
142 | | - int itemsPerPage; |
143 | | - switch (parent.getItemAtPosition(position).toString()) { |
144 | | - case "All": |
145 | | - itemsPerPage = 0; |
146 | | - break; |
147 | | - default: |
148 | | - itemsPerPage = Integer.valueOf(parent.getItemAtPosition(position).toString()); |
149 | | - } |
150 | | - |
151 | | - mainFragment.setTableItemsPerPage(itemsPerPage); |
152 | | - } |
153 | | - |
154 | | - @Override |
155 | | - public void onNothingSelected(AdapterView<?> parent) { |
156 | | - |
157 | | - } |
158 | | - }; |
159 | | - |
160 | | - private View.OnClickListener onPreviousPageButtonClicked = new View.OnClickListener() { |
161 | | - @Override |
162 | | - public void onClick(View v) { |
163 | | - mainFragment.previousTablePage(); |
164 | | - } |
165 | | - }; |
166 | | - |
167 | | - private View.OnClickListener onNextPageButtonClicked = new View.OnClickListener() { |
168 | | - @Override |
169 | | - public void onClick(View v) { |
170 | | - mainFragment.nextTablePage(); |
171 | | - } |
172 | | - }; |
173 | | - |
174 | | - private TextWatcher onPageTextChanged = new TextWatcher() { |
175 | | - @Override |
176 | | - public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
177 | | - |
178 | | - } |
179 | | - |
180 | | - @Override |
181 | | - public void onTextChanged(CharSequence s, int start, int before, int count) { |
182 | | - int page; |
183 | | - if (TextUtils.isEmpty(s)) { |
184 | | - page = 1; |
185 | | - } else { |
186 | | - page = Integer.valueOf(String.valueOf(s)); |
187 | | - } |
188 | | - |
189 | | - mainFragment.goToTablePage(page); |
190 | | - } |
191 | | - |
192 | | - @Override |
193 | | - public void afterTextChanged(Editable s) { |
194 | | - |
195 | | - } |
196 | | - }; |
197 | 35 | } |
0 commit comments