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 <[email protected]> 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 [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
> ---
> 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 [email protected].
> 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 [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
--- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to