Hey poohtbear, thank you very much, I am downloading the sources you prepared for version 2.2. Maybe I find out more... Can't estimate how long I need for this, but I'll give response to this post asap. You are right, maybe I need to have a look at the originally used layouts. I am really confused at the moment why it does not work. If I replace the RadioButton with a TextView it works, but RadioButton or CheckBox does not work. It seems they corrupt the functionality of the item.
Thank you for helping me! -Danny Schimke 2010/12/6 poohtbear <[email protected]> > i'm not sure regardin of why it doesn't call what it should. > First of all you should know that the code including the layouts and > resources of the SDK are available to you online here:http:// > android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=core/ > res/res;hb=donut-release2, this is a link to donut version resources. > > the drop down and the view supposed to be different, one is for the > spinner itself, for the single item that is displayed, the other is > for the items in the list one the spinner is 'opened'. > I urge you to take a look on the theme.xml and styles.xml and layout > directory to see which of the layouts is used originally in the > Spinner class > and try to build your layouts from there. > I had in my blod a zip with the source for 1.6, 2.1 and 2.2 though you > can still view them online i think i' can find the link: > > http://www.devfrustrated.com/devBlog/browsing-android-source-code-in-eclipse/ > in there in the end you got 3 zips, in most cases you can debug the > code... in the evening i'll have some more time i might be able to > look into it so you can send me the layouts :-) > > > On Dec 6, 1:49 pm, Danny Schimke <[email protected]> wrote: > > Hi poohtbear, > > > > I have no android source and I am using windows as development platform. > As > > far as I read I am not able to get the source under windows?! > > > > But based on your code I noticed, that the XML of my Spinner view and its > > drop down XML are different. The drop down XML has an additional > > RadioButton. If I use the same UI as I am using for my Spinner it works, > but > > it does not look very well... It seems the onClick() of the spinner is > never > > called. If I call performClick() when click on the RadioButton the drop > down > > menu opens again. A dismiss is not called, also when the drop down is > shown. > > > > Is there a way to use the default dropdown UI with radio buttons and fill > it > > up with custom view elements on the left side? > > > > Thanks a lot! > > -Danny Schimke > > > > 2010/12/6 poohtbear <[email protected]> > > > > > That's a bit strange. > > > According to the code of spinner: > > > @Override > > > public boolean performClick() { > > > boolean handled = super.performClick(); > > > > > if (!handled) { > > > handled = true; > > > Context context = getContext(); > > > > > final DropDownAdapter adapter = new > > > DropDownAdapter(getAdapter()); > > > > > AlertDialog.Builder builder = new > > > AlertDialog.Builder(context); > > > if (mPrompt != null) { > > > builder.setTitle(mPrompt); > > > } > > > mPopup = builder.setSingleChoiceItems(adapter, > > > getSelectedItemPosition(), this).show(); > > > } > > > > > return handled; > > > } > > > > > public void onClick(DialogInterface dialog, int which) { > > > setSelection(which); > > > dialog.dismiss(); > > > mPopup = null; > > > } > > > > > if the AdapterView is not handling the performClick then a new alert > > > dialog that derives it's views from your adapter is created, and the > > > spinner is the onClick listener. > > > So when you click an item is should have dismissed the dialog. > > > > > do you have the source code to put break points and debug it ? > > > On Dec 6, 11:13 am, Danny Schimke <[email protected]> > > > wrote: > > > > Hi, > > > > > > I googled a long time and still got no solution for my issue. I > > > customized > > > > my spinner view and the spinners dropdown menu. Within the spinner > itself > > > I > > > > show a color representation and a simple text (I kicked some > attributes > > > to > > > > save space in this post): > > > > > > spinner_color_item.xml > > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > > > <LinearLayout xmlns:android=" > > >http://schemas.android.com/apk/res/android"> > > > > > <View android:id="@+id/vColorCode" /> > > > > > <TextView android:id="@+id/tvColorName" /> > > > > > </LinearLayout> > > > > > > My dropdown menu (one item element in the menu) looks like this: > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > > > > > <LinearLayout xmlns:android=" > > >http://schemas.android.com/apk/res/android"> > > > > > <View android:id="@+id/vColorCode" /> > > > > > <TextView android:id="@+id/tvColorName" /> > > > > > <RadioButton android:id="@+id/rbChooseColor" /> > > > > > </LinearLayout> > > > > > > Everything looks fine, the spinner is shown as expected and the > dropdown > > > > menu items look like I wanted. I am using a customized ArrayAdapter, > for > > > > models that look like: > > > > > > public class ColorItem { > > > > > > > private String colorName; > > > > > private int colorValue; > > > > > private boolean selected; > > > > > public ColorItem() { > > > > > } > > > > > public ColorItem(String colorName, int colorValue) { > > > > > this.colorName = colorName; > > > > > this.colorValue = colorValue; > > > > > } > > > > > // some methods (getter and setter) > > > > > } > > > > > > The code within my onCreate method looks like: > > > > > > spiColor = (Spinner) findViewById(R.id.spiGroupColor); > > > > > > SpinnerColorAdapter colorAdapter = new SpinnerColorAdapter(this, > > > > > > > android.R.layout.simple_spinner_item, prepareColorItems()); > > > > > spiColor.setAdapter(colorAdapter); > > > > > OnItemSelectedListener l = new OnItemSelectedListener() { > > > > > @Override > > > > > public void onItemSelected(AdapterView<?> arg0, View view, int > > > > > position, long id) { > > > > > // never called. Why?! > > > > > if (spinnerInitialized) { > > > > > } > > > > > spinnerInitialized = true; > > > > > } > > > > > @Override > > > > > public void onNothingSelected(AdapterView<?> arg0) { > > > > > } > > > > > }; > > > > > spiColor.setOnItemSelectedListener(l); > > > > > > I overwrote the getDropDownView method of my custom adapter. The view > is > > > > created successfully, how I defined in xml, but I want to close the > > > dropdown > > > > menu after selected one item, so I want to close it with clicking the > > > > radiobutton of one item. Set the selection works very well, but I > have to > > > > exit the menu pressing escape in my emulator. > > > > > > Hope someone can help, I need a way to close the dropdown menu > > > > programatically. Does anybody have the same problem? > > > > > > Thanks a lot! > > > > -Danny Schimke > > > > > -- > > > You received this message because you are subscribed to the Google > > > Groups "Android Developers" group. > > > To post to this group, send email to > [email protected] > > > To unsubscribe from this group, send email to > > > [email protected]<android-developers%[email protected]> > <android-developers%[email protected]<android-developers%[email protected]> > > > > > For more options, visit this group at > > >http://groups.google.com/group/android-developers?hl=en > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<android-developers%[email protected]> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

