🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Android RMOS / SearchableSpinner aranabilir combobox

1-) Android RMOS - SearchableSpinner aranabilir combobox

 

kaynak : https://github.com/MdFarhanRaja/SearchableSpinner

 

 

Step 1. Add the JitPack repository to your build file

allprojects {

repositories {

maven { url 'https://jitpack.io' }

}

}

 

Step 2. Add the dependency

dependencies {

        compile 'com.github.MdFarhanRaja:SearchableSpinner:2.0'

}

 

Step 3. Inside JAVA

public class MainActivity extends AppCompatActivity {

ArrayList<String> items=new ArrayList<>();

SpinnerDialog spinnerDialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final TextView selectedItems=(TextView)findViewById(R.id.txt);

 

    items.add("Mumbai");

    items.add("Delhi");

    items.add("Bengaluru");

    items.add("Hyderabad");

    items.add("Ahmedabad");

    items.add("Chennai");

    items.add("Kolkata");

    items.add("Surat");

    items.add("Pune");

    items.add("Jaipur");

    items.add("Lucknow");

    items.add("Kanpur");

 

 

    spinnerDialog=new SpinnerDialog(MainActivity.this,items,"Select or Search City","Close Button Text");// With No Animation

spinnerDialog=new SpinnerDialog(MainActivity.this,items,"Select or Search City",R.style.DialogAnimations_SmileWindow,"Close Button Text");// With Animation

 

spinnerDialog.setCancellable(true); // for cancellable

spinnerDialog.setShowKeyboard(false);// for open keyboard by default

 

spinnerDialog.setUseContainsFilter(true); // ben yazdım

 

 

 

    spinnerDialog.bindOnSpinerListener(new OnSpinerItemClick() {

        @Override

        public void onClick(String item, int position) {

            Toast.makeText(MainActivity.this, item + "  " + position+"", Toast.LENGTH_SHORT).show();

            selectedItems.setText(item + " Position: " + position);

        }

    });

    findViewById(R.id.show).setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

            spinnerDialog.showSpinerDialog();

        }

    });

}

}

 

Step 4. Add custom style in your styles.xml

<style name="DialogAnimations" />

<style name="DialogAnimations.SmileWindow">

    <item name="android:windowEnterAnimation">@anim/slide_in_bottom</item>

    <item name="android:windowExitAnimation">@anim/slide_out_top</item>

</style>

 

 

 

Step 5. -> ben yazdım

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/activity_main"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:orientation="vertical"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="in.galaxyofandroid.searchablespinner.MainActivity">

 

    <Button

        android:layout_gravity="center"

        android:id="@+id/show"

        android:text="Show Dialog"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" />

 

    <TextView

        android:id="@+id/txt"

        android:gravity="center"

        android:layout_width="match_parent"

        android:layout_height="match_parent"/>

 

</LinearLayout>

 

 

 

 

------------------------------------------KENDİ NOTLARIM--------------------------------

eğer projene komple entegre edersen yani .jar ın içindekileri kendine alırsan ve içinde yani contains şeklinde arama yaparsan aşağıdakileri uygula. Listenin kopyasını al ve aldığın kopyayı geri yolla. aşağıdaki gibi

ArrayList<String> items = new ArrayList<>();
ArrayList<String>
itemsCopy = new ArrayList<>();

 

public void cariEkle() {
    
items.clear();
    
items.add("Metro");
    
items.add("Delhi");
    
items.add("Bengaluru");
    
items.add("Hyderabad");
    
items.add("Ahmedabad");
    
items.add("Chennai");
    
items.add("Kolkata");
    
items.add("Surat");
    
items.add("Pune");
    
items.add("Jaipur");
    
items.add("Lucknow");
    
items.add("Kanpur");

    
itemsCopy = new ArrayList<>(items);
}

 

 

btnCari.setOnClickListener(new View.OnClickListener() {
    
@Override
    
public void onClick(View v) {
        
spinnerDialog.showSpinerDialog(itemsCopy);
    }
});

 

public void showSpinerDialog(ArrayList<String> itemsT) {
    
items=new ArrayList<>(itemsT);
    AlertDialog.Builder adb =
new AlertDialog.Builder(context);

         ...

         ...

 

 2021 Ocak 18 Pazartesi
 444