2

im to populate spinner using arraylist , and that arraylist actully holds data from the file having android application data stored already for t=my application, im pasting the code ,, problem is spinner populates but values appear twice

     String[] wee = list2.toArray(new String[list2.size()]);
     final String[] str={"Report 1","Report 2","Report 3","Report 4","Report 5"};
     ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
             this, android.R.layout.simple_spinner_item);
     spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

     for(int i = 0;i < wee.length; i++){
         spinnerArrayAdapter.add(wee[i]+"\n");
         spinnerArrayAdapter.notifyDataSetChanged();
     }

     // Spinner spinYear = (Spinner)findViewById(R.id.spin);
     spin.setAdapter(spinnerArrayAdapter);            
1
  • Please run your question through an English grammar and vocabulary checker. Commented Sep 1, 2021 at 17:28

2 Answers 2

14

Try to initialize your spinner adapter with array in constructor.

String[] wee = list2.toArray(new String[list2.size()]);
final String[] str={"Report 1","Report 2","Report 3","Report 4","Report 5"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
         this, android.R.layout.simple_spinner_item, wee);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

// Spinner spinYear = (Spinner)findViewById(R.id.spin);
spin.setAdapter(spinnerArrayAdapter);
Sign up to request clarification or add additional context in comments.

4 Comments

its not working !(tinypic.com/…) see
Are you sure that in list2 you don't have duplicated values ?
list2 is empty and its an arrayList of type string , im populating it dynamicaly using hashmap that is getting values from file String CurData=""; for (int i=0; i < ListMaps.size();i++){HashMap<String, String> map=ListMaps.get(i); CurData =CurData+map.get("bmi")+"\n"; } ArrayList<String> list2 = new ArrayList<String>(); for(int i=0;i<ListMaps.size();i++){ list2.add(CurData);} String[] wee = list2.toArray(new ring[list2.size()]); ...and then the spinner code i pasted already
Can you run it through debug mode and check what is in list2?
1
private void setSpinner() {
    spinner = (Spinner) findViewById(R.id.spinner_size);

    Intent intent = getIntent();

    ArrayList<String> sizes = null;

    if (intent != null) {
      // Receiving ArrayList in Another Activity where "sizeList" is the Key
        sizes = intent.getStringArrayListExtra("SizeList");
    }

    if (sizes != null) {

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, sizes);

        spinner.setAdapter(adapter);

        // Spinner click listener
        spinner.setOnItemSelectedListener(this);
    }


}

Call setSpinner() method from OnCreate() Method. You can directly pass ArrayList as a parameter, you don't need to convert into String[].

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.