I just wanna ask how can I create a multi selection spinner in android and the data that will be populated to is from the database. I saw this example here in SO Android Spinner with multiple choice and tried to use it but I don't know what to do next. This is my spinner and adapter and I want to make it in multiselect spinner. Help me please...
spn_CustomerSegment = (Spinner)findViewById(R.id.spn_CustomerSegment);
List<String> ConsumerSeg = databaseHandler.setItemOnConsumerSeg();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(IreportMain.this, android.R.layout.simple_spinner_item, ConsumerSeg);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn_CustomerSegment.setAdapter(adapter);
I know its not direct answer but you can try using a acrollView (vertical or horizontal) and populate it with checkboxes.
it can give you a nice effect end no extra coding is needed
Related
Hey i am creating a spinner dynamically..it creating fine..no problem with that...but items are separate with narrow gap thats why one item is almost attached with others...i want a gap between items.please help
my code is like below..
ArrayAdapter<String> adapter=new ArrayAdapter<String>(BidActivity.this,android.R.layout.simple_spinner_item,result1);
spinner=(Spinner) findViewById(R.id.spinner1);
spinner.setAdapter(adapter);
You need to create a Custom Spinner Layout for this type of achievement.
Go to this Link custom-layout-for-spinner-item used this and customized by your own way.
thnks
my suggestion is please go for a custom spinner for which you can see the code at
http://mrbool.com/how-to-customize-spinner-in-android/28286
http://androidexample.com/Custom_Spinner_With_Image_And_Text_-_Android_Example/index.php?view=article_discription&aid=84&aaid=107
http://www.edureka.in/blog/custom-spinner-in-android/
I am using spinner and looking for other similar control in Eclipse, I need to change drop down view of spinner.
ArrayAdapter<String> Timeadapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, TimeIntervals);
For this I have used simple_spinner_dropdown_item but it change whole spinner view with a radio button in front
ArrayAdapter<String> Timeadapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item, TimeIntervals);
But output view I am looking for is not there.
Please help,
I'm thinking this mihgt help you Multi Selection Dialog and this might be helpful too Single Selection Dialog anyway you can always get help from here, I hope this is useful to you
I have a question about adding spinner to listview header:
How should I get a spinner to showup in the listview header.
How to dynamically populate values in this spinner based on values in the listview.
Description:
I have a listview which populates values from an XML file (placed on the net). This list can be huge based on user selection on previous screen(s) and/ or data in XML file.
I would like to add a spinner at the top of the listview such that user will have an option to perform filter action/ sort action. How should this be achieved?
For example:
If my app shows a list of books available in the library. The spinner should help user to:
1. Sort alphabetically based on book title
2. Sort alphabetically based on author name
3. Filter out only books related to 'War'
4. Filter out only books related to 'History'
5. Filter out only books related to 'Science'
When I am populating the listview, the XML provides details such as 'Type of Book', 'Author', 'Title', etc.
Question is, how do I place a spinner at the top & populate values like, the types (War, History, Crime, etc.) to the Spinner based on the list of books in the listview.
I have tried to be as descriptive as possible. If any further details required, please let me know.
Any help will be highly appreciated.
Thanks a Bunch!
For putting the spinner above the ListView, check this method out: http://developer.android.com/reference/android/widget/ListView.html#addHeaderView%28android.view.View%29
Or you could put a custom title-layout thing about the ListView in the parent layout for the Activity.
More ListView help: http://www.vogella.de/articles/AndroidListView/article.html#listview_overview
As far as populating the spinner, you can have the spinner set to whichever values you want. In the example online( http://developer.android.com/resources/tutorials/views/hello-spinner.html ):
String[] myValues = // Put code here for the values and size of array you want.
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, YOUR_STRING_ARRAY_VARIABLE_HERE, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
It is your job as a programmer to figure out how to take which item is selected in the spinner and make changes to the listView. To update values in a listview check this out: update listview dynamically with adapter
One solution and how I would do it is make a custom Java class for an Entry so that you can take in the XML file and give each entry instance variables or characteristics to sort them by. Then using this data model, make a class EntryList or EntryArray that can handle the sorting of your Entry data objects. Then have a toStringArray() method that will return a string array. In this way you hold on to the data, and allow all of the sorting you need. Each time the spinner is clicked, the corresponding method in EntryList or EntryArray is called, a new String array is put in the adapter, and the user sees the new sorted list.
This was probably a lot to digest, so read up on all of the links, and see if you can implement it. Cheers!
I have set a dynamic value in a spinner . I am using following code for the same.
spinner_generalbooks.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"}));
It is working fine, but I have a problem with the view of the spinner . If we select simple_spinner_item, it is ok in normal state, but when we want to change it, the rows are very narrow and not CheckedTextView whereas in normal spinner options comes with CheckedTextView. If we select simple_spinner_dropdown_item, the options come with CheckedTextView, but in normal state, it looks different as in the pic
(First one is default spinner and second one is using simple_spinner_dropdown_item).
I want to show the spinner just like as default spinner. How to make it?
Android will take the layout specified in the adapter and use it for the control and the items unless you specify the view-resource separately. The way through this is to set the layout to simple_item in the ArrayAdapter constructor and then set the layout dropdown_item separately in a call to setDropDownViewResource().
ArrayAdapter newAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"});
newAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_generalbooks.setAdapter(newAdapter);
If you whant to customize the visual of your Spinner, it'll be more simple to create your own component. A spinner is just a Layout that contains text, image and that display a list in a popup. Create a custom layout for your item and use a new BaseAdapter object to bind your datas.
http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/
hope i could help
My spinner control is displaying fine no problem. When someone is in create mode they are able to selected a value which I am able to record and store in my database.
But I have a problem when someone is in edit mode and I want to display the list but have one of the items (say the third) selected. I can't see how to do that. All the tutorials talk about how to populate the spinner but not how to preset one as being selected.
this.ddlCategory = (Spinner)this.findViewById(R.id.add_edit_place_ddlCategory);
ArrayAdapter adpt = new ArrayAdapter(this, android.R.layout.simple_spinner_item, categories);
adpt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
this.ddlCategory.setAdapter(adpt);
Please help
Cheryl
You can use one of the setSelection methods to programatically select a value.