Android Open Source - caddisfly-app-camera Form Spinner






From Project

Back to project page caddisfly-app-camera.

License

The source code is released under:

GNU General Public License

If you think the Android project caddisfly-app-camera listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) TernUp Research Labs/*w  ww.j a v a2  s  . c  om*/
 *
 * This file is part of Caddisfly
 *
 * Caddisfly is free software: you can redistribute it and modify it under the terms of
 * the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
 * either version 3 of the License or any later version.
 *
 * Caddisfly is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Affero General Public License included below for more details.
 *
 * The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
 */

package com.ternup.caddisfly.widget;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.content.Context;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.Spinner;

import java.util.HashMap;
import java.util.Map;

public class FormSpinner extends FormWidget {

    protected final JSONObject _options;

    protected final Spinner _spinner;

    protected final Map<String, String> _propertyMap;

    protected final ArrayAdapter<String> _adapter;


    public FormSpinner(Context context, String property, JSONObject options) {
        super(context, property);

        _options = options;

        _spinner = new Spinner(context, Spinner.MODE_DIALOG);
        //_spinner.setLayoutParams( FormActivity.defaultLayoutParams );

        String p;
        String name;

        _propertyMap = new HashMap<String, String>();
        _adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item);
        _adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        _spinner.setAdapter(_adapter);
        _spinner.setSelection(0);

        try {
            if (options != null) {
                JSONArray propertyNames = options.names();
                for (int i = 0; i < options.length(); i++) {
                    name = propertyNames.getString(i);
                    p = options.getString(name);

                    _adapter.add(p);
                    _propertyMap.put(p, name);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);

        params1.bottomMargin = 15;
        params1.topMargin = 0;

        _spinner.setLayoutParams(params1);

        _layout.addView(_spinner);
    }

    @Override
    public String getValue() {
        return _propertyMap.get(_adapter.getItem(_spinner.getSelectedItemPosition()));
    }

    @Override
    public void setValue(String value) {
        try {
            String name;
            JSONArray names = _options.names();
            for (int i = 0; i < names.length(); i++) {
                name = names.getString(i);

                if (name.equals(value)) {
                    String item = _options.getString(name);
                    _spinner.setSelection(_adapter.getPosition(item));
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    public Spinner getInputControl() {

        return _spinner;
    }

    /*
            @Override
            public void setToggleHandler( FormActivity.FormWidgetToggleHandler handler )
            {
                    super.setToggleHandler(handler);
                    _spinner.setOnItemSelectedListener( new SelectionHandler( this ) );
            }
    */
    class SelectionHandler implements AdapterView.OnItemSelectedListener {

        protected final FormWidget _widget;

        public SelectionHandler(FormWidget widget) {
            _widget = widget;
        }

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
/*
                        if( _handler != null ){
        _handler.toggle( _widget );
      }
*/
        }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }

    }
}




Java Source Code List

com.ternup.caddisfly.activity.MainActivityBase.java
com.ternup.caddisfly.activity.MainActivity.java
com.ternup.caddisfly.activity.PhotoIntentActivity.java
com.ternup.caddisfly.activity.ProgressActivityBase.java
com.ternup.caddisfly.activity.ProgressActivity.java
com.ternup.caddisfly.activity.ProgressActivity.java
com.ternup.caddisfly.activity.SurveyActivity.java
com.ternup.caddisfly.activity.VideoActivity.java
com.ternup.caddisfly.adapter.CalibrateListAdapter.java
com.ternup.caddisfly.adapter.CheckboxSimpleCursorAdapter.java
com.ternup.caddisfly.adapter.GalleryListAdapter.java
com.ternup.caddisfly.adapter.NavDrawerListAdapter.java
com.ternup.caddisfly.adapter.SwatchesAdapter.java
com.ternup.caddisfly.app.GlobalsBase.java
com.ternup.caddisfly.app.Globals.java
com.ternup.caddisfly.app.Globals.java
com.ternup.caddisfly.app.MainApp.java
com.ternup.caddisfly.component.CameraZoomPreference.java
com.ternup.caddisfly.component.ConfirmCheckBoxPreference.java
com.ternup.caddisfly.component.ConfirmPreference.java
com.ternup.caddisfly.component.NothingSelectedSpinnerAdapter.java
com.ternup.caddisfly.component.NumberPickerPreference.java
com.ternup.caddisfly.database.DataStorage.java
com.ternup.caddisfly.database.DataStorage.java
com.ternup.caddisfly.database.LocationTable.java
com.ternup.caddisfly.database.TestDatabaseHelper.java
com.ternup.caddisfly.database.TestTable.java
com.ternup.caddisfly.fragment.AboutFragment.java
com.ternup.caddisfly.fragment.AboutItFragment.java
com.ternup.caddisfly.fragment.BaseFragment.java
com.ternup.caddisfly.fragment.CalibrateFragmentBase.java
com.ternup.caddisfly.fragment.CalibrateFragment.java
com.ternup.caddisfly.fragment.CalibrateItemFragmentBase.java
com.ternup.caddisfly.fragment.CalibrateItemFragment.java
com.ternup.caddisfly.fragment.CameraFragment.java
com.ternup.caddisfly.fragment.DetailsFragment.java
com.ternup.caddisfly.fragment.FormFragment.java
com.ternup.caddisfly.fragment.HelpFragment.java
com.ternup.caddisfly.fragment.HomeFragment.java
com.ternup.caddisfly.fragment.LocationDetailsFragment.java
com.ternup.caddisfly.fragment.LocationFragment.java
com.ternup.caddisfly.fragment.LocationListFragment.java
com.ternup.caddisfly.fragment.NavigationDrawerFragment.java
com.ternup.caddisfly.fragment.NotesFragment.java
com.ternup.caddisfly.fragment.PhotoFragment.java
com.ternup.caddisfly.fragment.ResultFragment.java
com.ternup.caddisfly.fragment.ResultListFragment.java
com.ternup.caddisfly.fragment.SettingsFragment.java
com.ternup.caddisfly.fragment.SwatchFragment.java
com.ternup.caddisfly.model.ColorInfo.java
com.ternup.caddisfly.model.Dynamics.java
com.ternup.caddisfly.model.NavigationDrawerItem.java
com.ternup.caddisfly.provider.LocationContentProvider.java
com.ternup.caddisfly.provider.TestContentProvider.java
com.ternup.caddisfly.service.CameraServiceReceiver.java
com.ternup.caddisfly.service.CameraService.java
com.ternup.caddisfly.util.AlertUtils.java
com.ternup.caddisfly.util.AudioUtils.java
com.ternup.caddisfly.util.ColorUtils.java
com.ternup.caddisfly.util.DataHelper.java
com.ternup.caddisfly.util.DateUtils.java
com.ternup.caddisfly.util.DownloadManager.java
com.ternup.caddisfly.util.FileUtils.java
com.ternup.caddisfly.util.ImageUtils.java
com.ternup.caddisfly.util.LocationUtils.java
com.ternup.caddisfly.util.NetworkUtils.java
com.ternup.caddisfly.util.PhotoHandler.java
com.ternup.caddisfly.util.PreferencesHelper.java
com.ternup.caddisfly.util.PreferencesUtils.java
com.ternup.caddisfly.util.ShakeDetector.java
com.ternup.caddisfly.util.ShowCamera.java
com.ternup.caddisfly.util.TextJustifyUtils.java
com.ternup.caddisfly.util.TimeUtils.java
com.ternup.caddisfly.util.UpdateCheckTask.java
com.ternup.caddisfly.util.UpdateChecker.java
com.ternup.caddisfly.util.UpgradeCheckTask.java
com.ternup.caddisfly.util.WebClient.java
com.ternup.caddisfly.view.LineChartView.java
com.ternup.caddisfly.view.SlidingTabLayout.java
com.ternup.caddisfly.view.SlidingTabStrip.java
com.ternup.caddisfly.widget.FormEditText.java
com.ternup.caddisfly.widget.FormSpinner.java
com.ternup.caddisfly.widget.FormWidget.java
com.ternup.caddisfly.widget.MultiLineEditText.java
com.ternup.caddisfly.widget.TextViewEx.java
org.akvo.mobile.caddisfly.activity.MainActivity.java
org.akvo.mobile.caddisfly.component.CalibratePreference.java
org.akvo.mobile.caddisfly.fragment.CalibrateFragment.java
org.akvo.mobile.caddisfly.fragment.CalibrateItemFragment.java
org.akvo.mobile.caddisfly.fragment.CalibrateMessageFragment.java
org.akvo.mobile.caddisfly.fragment.HelpFragment.java
org.akvo.mobile.caddisfly.fragment.ItemFragment.java
org.akvo.mobile.caddisfly.fragment.ResultFragment.java
org.akvo.mobile.caddisfly.fragment.StartFragment.java
org.akvo.mobile.caddisfly.fragment.dummy.DummyContent.java