Skip to content

coolrb/FireBaseMultiSpinner

 
 

Repository files navigation

MultiSpinner

Download Build Status

Android Spinner Widget with multi selectable list

Overview

MultiSpinner is a class with can be used by Android developers that need a spinner widget with multi selection capabilities. When the user touches on the spinner widget a dialog pops up with a checkbox list.

Spinner with single selection

Spinner item selection dialog

Spinner with multiple selection

Usage

Integrating the widget is quite simple. In your layout.xml add the following snippet:

...
<com.thomashaertel.widget.MultiSpinner
    android:id="@+id/spinnerMulti"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
...

After inserting the widget in your layout add the following code to your activity:

   public class MyActivity extends Activity {
       private MultiSpinner spinner;
       private ArrayAdapter<String> adapter;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
    
           // create spinner list elements
           adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
           adapter.add("Item1");
           adapter.add("Item2");
           adapter.add("Item3");
           adapter.add("Item4");
           adapter.add("Item5");
    
           // get spinner and set adapter
           spinner = (MultiSpinner) findViewById(R.id.spinnerMulti);
           spinner.setAdapter(adapter, false, onSelectedListener);
    
           // set initial selection
           boolean[] selectedItems = new boolean[adapter.getCount()];
           selectedItems[1] = true; // select second item
           spinner.setSelected(selectedItems);
       }

       private MultiSpinner.MultiSpinnerListener onSelectedListener = new MultiSpinner.MultiSpinnerListener() {
           public void onItemsSelected(boolean[] selected) {
               // Do something here with the selected items
           }
       };
   }

Building

Gradle

From Bintray

Add maven central to your build.gradle:

buildscript {
  repositories {
    jcenter()
  }
}

repositories {
  jcenter()
}

From maven central

Add maven central to your build.gradle:

buildscript {
  repositories {
    mavenCentral()
  }
}

repositories {
  mavenCentral()
}

Then declare MultiSpinner within your dependencies:

dependencies {
  ...
  compile('com.thomashaertel:multispinner:0.1.0@aar') {
  }
  ...
}

Maven

From maven central

To use MultiSpinner within your maven build simply add

<dependency>
  <artifactId>multispinner</artifactId>
  <version>${multispinner.version}</version>
  <groupId>com.thomashaertel</groupId>
</dependency>

to your pom.xml

If you also want the sources or javadoc add the respective classifier

  <classifier>sources</classifier>

or

  <classifier>javadoc</classifier>

to the dependency.

License

About

Forked to fix spinnerStyle issue of originical repo and Integrate with Firebase to fetch data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%