What happens if you use this version of obtainStyledAttributes()?
*final TypedArray a = theme.obtainStyledAttributes(R.style.MyText, attrs); * Thanks, Justin Anderson MagouyaWare Developer http://sites.google.com/site/magouyaware On Sat, Nov 23, 2013 at 10:10 AM, Y2i <yur...@gmail.com> wrote: > I have a style > > <style name="MyText"> > <item name="android:background">#ffc0c0c0</item> > <item name="android:textColor">#ffff8080</item> > </style> > > which I am trying to introspect in my ocde. I use this code to retrieve > typed array: > > final Resources.Theme theme = getActivity().getTheme(); > final int[] attrs = {android.R.attr.textColor, android.R.attr.background,}; > final TypedArray a = theme.obtainStyledAttributes(null, attrs, 0, > R.style.MyText); > try { > Log.d(TAG, "length: " + a.length()); > for (int i = 0; i < a.length(); ++i) { > final TypedValue v = a.peekValue(i); > if (v != null) { > Log.d(TAG, "type: " + v.type); > } > Log.d(TAG, "---------------------------------"); > } > > } finally { > a.recycle(); > } > > The output is: > > D/PlaceholderFragment( 3391): length: 2 > D/PlaceholderFragment( 3391): type: 28 > D/PlaceholderFragment( 3391): --------------------------------- > D/PlaceholderFragment( 3391): type: 28 > D/PlaceholderFragment( 3391): --------------------------------- > > Everything seems fine at this point. But when I change the order of the > attribute in the array from > > final int[] attrs = {android.R.attr.textColor, android.R.attr.background,}; > > to > > final int[] attrs = {android.R.attr.background, > android.R.attr.textColor,}; > > the output becomes > > D/PlaceholderFragment( 3528): length: 2 > D/PlaceholderFragment( 3528): type: 28 > D/PlaceholderFragment( 3528): --------------------------------- > D/PlaceholderFragment( 3528): --------------------------------- > > The second TypedValue returned by the peekValue() method becomes null in > the second case. Why? What am I doing wrong? > > Thank you! > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > 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 unsubscribe from this group and stop receiving emails from it, send an > email to android-developers+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com 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 unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.