package ro.ieval.unical;
+import android.app.ActionBar;
import android.app.Fragment;
+import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.AdapterView;
import android.widget.CompoundButton;
+import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.Switch;
-import android.widget.CompoundButton.OnCheckedChangeListener;
public final class TrivialFragment extends Fragment {
+ private static class OnItemSelectedListener implements android.widget.AdapterView.OnItemSelectedListener{
+ private final View repeatCount;
+ private final View repeatUntil;
+
+ public OnItemSelectedListener(final View repeatCount, final View repeatUntil) {
+ this.repeatCount=repeatCount;
+ this.repeatUntil=repeatUntil;
+ }
+
+ @Override
+ public void onItemSelected(final AdapterView<?> whatever, final View ignored, final int pos, final long id) {
+ switch(pos){
+ case 0:
+ repeatCount.setVisibility(View.GONE);
+ repeatUntil.setVisibility(View.GONE);
+ break;
+ case 1:
+ repeatCount.setVisibility(View.GONE);
+ repeatUntil.setVisibility(View.VISIBLE);
+ break;
+ case 2:
+ repeatCount.setVisibility(View.VISIBLE);
+ repeatUntil.setVisibility(View.GONE);
+ break;
+ default:
+ }
+ }
+
+ @Override public void onNothingSelected(final AdapterView<?> arg0) { /* do nothing */ }
+ }
+
+ private static class OnCheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener{
+ private final LinearLayout layout;
+ private final View root;
+ public OnCheckedChangeListener(final LinearLayout layout, final View root){
+ this.layout=layout;
+ this.root=root;
+ }
+
+ @Override
+ public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
+ if(isChecked) {
+ Utils.setEnabledRecursively(layout, true);
+ final Spinner repeatType = (Spinner) root.findViewById(R.id.repeat_type);
+ repeatType.setOnItemSelectedListener(new OnItemSelectedListener(root.findViewById(R.id.repeat_count),root.findViewById(R.id.repeat_until)));
+ }else {
+ Utils.setEnabledRecursively(layout, false);
+ }
+ }
+ }
+
public static final String ARGUMENT_LAYOUT="layout";
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
+
final View view=inflater.inflate(getArguments().getInt(ARGUMENT_LAYOUT), container, false);
- final Switch repeatSwitch = (Switch) view.findViewById(R.id.repeat_switch);
- if(repeatSwitch != null){
- final Spinner repeatSpinner = (Spinner) view.findViewById(R.id.repeat_spinner);
- repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
- if(isChecked) {
- repeatSpinner.setEnabled(true);
- }else {
- repeatSpinner.setEnabled(false);
- }
- }
- });
+ final LinearLayout layout = (LinearLayout) view.findViewById(R.id.repeat_layout);
+
+ if(layout != null){
+ final Switch repeatSwitch = (Switch) view.findViewById(R.id.repeat_switch);
+ Utils.setEnabledRecursively(layout, false);
+
+ repeatSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(layout, view));
}
return view;
}