Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.laurachelaru:MultiSelectSpinner:'
}
dependencies {
implementation("com.github.laurachelaru:MultiSelectSpinner:")
}
<dependency>
<groupId>com.github.laurachelaru</groupId>
<artifactId>MultiSelectSpinner</artifactId>
<version></version>
</dependency>
libraryDependencies += "com.github.laurachelaru" % "MultiSelectSpinner" % ""
:dependencies [[com.github.laurachelaru/MultiSelectSpinner ""]]
/*
* Getting array of String to Bind in Spinner
*/
final List<String> list = Arrays.asList(getResources().getStringArray(R.array.sports_array));
/**
* Simple MultiSelection Spinner (Without Search/Filter Functionlity)
*
* Using MultiSpinner class
*/
MultiSpinner simpleSpinner = (MultiSpinner) findViewById(R.id.simpleMultiSpinner);
simpleSpinner.setItems(list, "Multi Selection Without Filter", -1, new MultiSpinnerListener() {
@Override
public void onItemsSelected(boolean[] selected) {
// your operation with code...
for(int i=0; i<selected.length; i++) {
if(selected[i]) {
Log.i("TAG", i + " : "+ list.get(i));
}
}
}
});
/**
* Search MultiSelection Spinner (With Search/Filter Functionality)
*
* Using MultiSpinnerSearch class
*/
MultiSpinnerSearch searchSpinner = (MultiSpinnerSearch) findViewById(R.id.searchMultiSpinner);
final List<KeyPairBoolData> listArray = new ArrayList<KeyPairBoolData>();
for(int i=0; i<list.size(); i++) {
KeyPairBoolData h = new KeyPairBoolData();
h.setId(i+1);
h.setName(list.get(i));
h.setSelected(false);
listArray.add(h);
}
/***
* -1 is no by default selection
* 0 to length will select corresponding values
*/
searchSpinner.setItems(listArray, "Multi Selection With Filter", -1, new MultiSpinnerSearchListener() {
@Override
public void onItemsSelected(List<KeyPairBoolData> items) {
for(int i=0; i<items.size(); i++) {
if(items.get(i).isSelected()) {
Log.i("TAG", i + " : " + items.get(i).getName() + " : " + items.get(i).isSelected());
}
}
}
});
/**
* Using MultiSpinnerSearch object
* call setLimit method
*
*/
searchSpinner.setLimit(3, new MultiSpinnerSearch.LimitExceedListener() {
@Override
public void onLimitListener(KeyPairBoolData data) {
Toast.makeText(getApplicationContext(),
"Limit exceed ", Toast.LENGTH_LONG).show();
}
});