So pull out your tag or ID value from the AttributeSet supplied to the
constructor? The information should be there, even if it hasn't been
applied yet. I've never tried it, but why else would the View
constructor get an AttributeSet?

On Jan 14, 6:27 am, Brill Pappin <[email protected]> wrote:
> Yes I agree Bob.
>
> In this case it would require a whole lot of refactoring for a minor
> adjustment.
> All I really need to do is capture a bunch of style attributes that
> are used later in some custom drawing.
> Fastest way from A to B is to simply know which resource was loaded.
>
> I have to say, I'm surprised that the View doesn't know who loaded it,
> or that the tag is not available (null tag a consider a bug).
>
> - Brill Pappin
>
> On Jan 13, 7:19 pm, Bob Kerns <[email protected]> wrote:
>
>
>
>
>
>
>
> > It seems to me the problem is that you're trying to do initialization
> > in a constructor. That is extremely limiting.
>
> > Try doing whatever your doing in a more appropriate place -- later.
> > onFinishInflate() would seem a likely candidate for your purposes. But
> > you could also consider doing it at the point of first use of whatever
> > you're doing.
>
> > Of course, depending on how the views do their thing, you may have to
> > repeat some style handling that may already have been done during the
> > inflation process. But that really shouldn't happen IMO (guessing
> > wildly here at how things work). That really should be happening no
> > earlier than in the super.onFinishInflate() -- so consider that some
> > of your processing may want to happen before the
> > super.onFinishInflate(), to supply updated information to any code
> > that runs there, and some may want to happen after the
> > super.onFinishInflate(), to override whatever was done there.
>
> > Of course, there could be processing you need to override that happens
> > even later. But at least by onFinishInflate(), you'll have access to
> > any tag or custom attribute.
>
> > Of course, you could try getting your information yourself directly
> > from the AttributeSet that is supplied to the constructor, but I
> > really think the constructor is the wrong place to be customizing.
>
> > On Jan 13, 11:04 am, Brill Pappin <[email protected]> wrote:
>
> > > I can't set it after inflate because I'm trying to access it in the 
> > > constructor.
>
> > > I did try setting it in xml, but I only get null back (may be a bug, but 
> > > I haven't investigated that).
>
> > > - Brill Pappin
>
> > > Sent from my Android device
>
> > > Brad Gies <[email protected]> wrote:
>
> > > >Can't you just set the tag when you inflate it? Or set the tag in the
> > > >.xml file?
>
> > > >Sincerely,
>
> > > >Brad Gies
> > > >-----------------------------------------------------------------------
> > > >Bistro Bot - Bistro Blurb
> > > >http://bgies.com          http://nocrappyapps.com
> > > >http://bistroblurb.com    http://forcethetruth.com
> > > >http://ihottonight.com
> > > >-----------------------------------------------------------------------
> > > >Everything in moderation, including abstinence (paraphrased)
>
> > > >Every person is born with a brain... Those who use it well are the 
> > > >successful happy ones - Brad Gies
>
> > > >Adversity can make or break you... It's your choice... Choose wisely - 
> > > >Brad Gies
>
> > > >Never doubt that a small group of thoughtful, committed people can
> > > >change the world. Indeed. It is the only thing that ever has - Margaret 
> > > >Mead
>
> > > >On 13/01/2011 10:28 AM, Brill Pappin wrote:
> > > >> Ok, this is the same problem as my last post, but i'm not getting any
> > > >> traction with it, so i'm looking for another method solve the problem.
>
> > > >> All i need to do is identify the xml resource a view was inflated
> > > >> from, in the views constructor.
>
> > > >> I've tried android:tag which does not seem to be able to do it in this
> > > >> case (I only ever get null back from getTag()).
>
> > > >> The situation is that I have a single java class extending view.
> > > >> I inflate one of many XMLs into the view and I need to be able to
> > > >> change stylesheets based upon which xml resource i'm loading.
>
> > > >> Does anyway one a method of doing this?
>
> > > >> My last fallback is to use some sort of static class that I can set
> > > >> the xml resource on for the entire app, then try and look at the id to
> > > >> determine which resource I loaded. I'm reluctant to do that because
> > > >> it's kludgy and I think its far more likely to introduce bug etc. Note
> > > >> that I haven't tried to do this yet, but it should work based on how
> > > >> java behaves.
>
> > > >> I just can't believe that there is no way to a view to know what XML
> > > >> resource it was inflated from!
>
> > > >> - Brill Pappin
> > > >> --
> > > >> 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 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 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

Reply via email to