I am working on android spinner and got stuck in a simple problem but tried much hard and unable to resolve it. spinner.setselection is not working. Here is the code. Here is the simple straight forward code for spinner set selection but is giving me Fatal error ArrayIndexOutOfBound exception.
package com.example.younastraders;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import com.toptoche.searchablespinnerlibrary.SearchableSpinner;
public class Test extends AppCompatActivity {
SearchableSpinner edDealerID;
Button btnAdd;
ArrayAdapter<String> dealerAdapter;
public String[] dealersName;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_add_return);
dealersName = new String[5];
dealersName[0] = "Dealer 1";
dealersName[1] = "Dealer 2";
dealersName[2] = "Dealer 3";
dealersName[3] = "Dealer 4";
dealersName[4] = "Dealer 5";
btnAdd = findViewById(R.id.button_add);
edDealerID = findViewById(R.id.ed_dealerName);
dealerAdapter = new ArrayAdapter<>(Test.this, android.R.layout.simple_spinner_dropdown_item, dealersName);
edDealerID.setAdapter(dealerAdapter);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edDealerID.setSelection(1);
}
});
}
}
The Error which is occurring always is shown below.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.younastraders, PID: 8996
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at java.util.Arrays$ArrayList.get(Arrays.java:3766)
at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:397)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:453)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:419)
at android.widget.Spinner.makeView(Spinner.java:724)
at android.widget.Spinner.layout(Spinner.java:672)
at android.widget.Spinner.onLayout(Spinner.java:634)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:779)
at android.view.View.layout(View.java:21912)
at android.view.ViewGroup.layout(ViewGroup.java:6260)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3080)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2590)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1721)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7598)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
at android.view.Choreographer.doCallbacks(Choreographer.java:790)
at android.view.Choreographer.doFrame(Choreographer.java:725)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Please someone helps me out. Thank you in advance.