That's why i put 'official' in quotes :-) One should not manipulate windows/views in any other thread than the main UI-thread (e.g. textView.setText(...) or imageView.setImageBitmap (...), hiding/showing views, etc.). If you do this in a background thread, then you may get exceptions or other weird behavior.
If 'inflating a view' falls under the 'manipulating windows/views' category then one should not inflate views inside any other thread by the main UI-thread. I'm just saying: try to do the inflate in the main UI-thread and check if this solves the problem for HTC Heros. If so, your particular problem is fixed. On Oct 21, 11:34 am, Jayesh Salvi <jayeshsa...@gmail.com> wrote: > -- > Jayesh... > > read more » > > On Wed, Oct 21, 2009 at 7:39 PM, Streets Of Boston > <flyingdutc...@gmail.com>wrote: > > > > > I still would try to inflate your view inside your main gui-thread and > > not in a seperate background thread. > > > The fact that it works on other phones does not guarantee it works on > > all phones, if inflating views on non-gui threads is 'officially' not > > supported. > > Could you elaborate on how it is 'officially' not supported? > > I know that a particular exception is thrown if the framework finds that a > different thread is trying to manipulate widgets in view hierarchy.(I hit it > yesterday elsewhere in the code, and it is not the same as this error). I > haven't found any documentation in this matter, that mentions what is > supported/forbidden practice in this matter. Did I miss something? > > > > > > > Who knows, it may fix it (if you already haven't tried it). :-) > > But i may be wrong... > > > On Oct 20, 11:57 pm, Jayesh Salvi <jayeshsa...@gmail.com> wrote: > > > Thanks Shane and Amir for confirming the doubts. > > > It's frustrating that all I can say to users is to wait until Sprint/HTC > > > issues firmware update, then hopefully the problem will be fixed. The > > users > > > are willing to test if I have any fix, but I can't find root cause even > > > after looking inside the android code, let alone a fix/workaround. > > > > Does anyone know if Sprint or HTC have any channels to report complaints? > > > Are there any means to know when they will issue next firmware update? > > > > IIUC Sprint HTC Hero is "with Google" branded phone. I would have assumed > > it > > > would be the one with most conformance to Android platform; one that has > > > passed all test suites required to qualify for the "with Google" logo. > > Yet > > > we see these anomalies. :( > > > > -- > > > Jayesh > > > > On Mon, Oct 19, 2009 at 1:15 PM, Amir Alagic <amirs...@gmail.com> wrote: > > > > > I saw somwhere else that one developer also has problems only with HTC > > > > Hero (Sprint) ... > > > > > On Oct 18, 9:48 am, Shane <shanemenchi...@gmail.com> wrote: > > > > > We are having problems only with HTC Hero phones as well. Our issue > > > > > is different that yours but it is very disappointing to see not all > > > > > phones handle the SDK the same. > > >http://groups.google.com/group/android-developers/browse_thread/threa... > > > > > > I suspect this is just going to get worse as more branded android > > > > > experiences get released by manufacturers. GRRRRRRRR > > > > > > On Oct 12, 9:46 pm, Jayesh Salvi <jayeshsa...@gmail.com> wrote: > > > > > > > I tried to look into the android framework code > > > > > > (link< > > > >http://www.google.com/codesearch/p?hl=en&sa=N&cd=1&ct=rc#uX1GffpyOZk/. > > .. > > > > > > android.view.InflateException Error inflating class > > > > > > java.lang.reflect.Constructor&l=458>). The topmost frame refers to > > a > > > > 'throw' > > > > > > statement(line 512) that is inside a catch of a lower level > > exception. > > > > I > > > > > > can't tell what part of the createView() function throws that lower > > > > level > > > > > > exception. > > > > > > I also tried to search around for the error string "Error inflating > > > > class > > > > > > java.lang.reflect.Constructor", but couldn't found one with a > > similar > > > > stack > > > > > > trace. (There are known crashes with this error message caused > > inside > > > > > > android.preference.* package, but mine is a simple widget layout > > and > > > > not > > > > > > preferences, as you might have seen in the XML file I attached > > > > earlier.) > > > > > > > I now have 9 reports of this crash and all of them are confirmed to > > be > > > > using > > > > > > Sprint HTC Hero devices. This problem hasn't been reported on any > > other > > > > > > phone. Is it fair to assume that it's a problem in that particular > > ROM? > > > > If > > > > > > that's so, then what options do I have to resolve this issue - > > should I > > > > wait > > > > > > helplessly for HTC/Sprint's next update? > > > > > > > Any suggestions are appreciated. > > > > > > > Thanks. > > > > > > -- > > > > > > Jayesh > > > > > > > On Mon, Oct 12, 2009 at 8:34 PM, Jayesh Salvi < > > jayeshsa...@gmail.com> > > > > wrote: > > > > > > > > -- > > > > > > > Jayesh > > > > > > > > On Mon, Oct 12, 2009 at 7:49 PM, Streets Of Boston < > > > > > > > flyingdutc...@gmail.com> wrote: > > > > > > > >> I might be mistaken, > > > > > > >> But this part of the stack-trace worries me a bit: > > > > > > > >> android.view.LayoutInflater.inflate(LayoutInflater.java:276) > > > com.altcanvas.readerscope.ItemDetails.<init>(ItemDetails.java: > > > > > > >> 145) > > > > > com.altcanvas.readerscope.ItemDetails.getInstance(ItemDetails.java: > > > > > > >> 566) > > > > > > >> com.altcanvas.readerscope.ReaderTask.doInBackground > > > > > > >> (ReaderTask.java:1027) > > > > > > > >> Are you inflating a view in a background-thread and not in the > > main > > > > > > >> gui-thread? > > > > > > >> But then again, your code works on other Android phones.... > > > > > > > > Yes that's true. The layout is inflated in background thread, but > > is > > > > made > > > > > > > part of the root hierarchy (setContentView) only in the GUI > > thread. > > > > > > > > This doesn't give any problem on emulator or any other phones. > > > > > > > >> On Oct 12, 12:02 am, Jayesh Salvi <jayeshsa...@gmail.com> > > wrote: > > > > > > >> > -- > > > > > > >> > Jayesh > > > > > > > >> > On Mon, Oct 12, 2009 at 1:11 AM, Romain Guy < > > romain...@google.com > > > > > > > >> wrote: > > > > > > > >> > > Hi, > > > > > > > >> > > The stack trace you showed is not useful. This is the top of > > the > > > > > > >> > > exception chain, which means this exception was caused by > > > > something > > > > > > >> > > else. Please show the "application specific stack frames" > > you > > > > removed. > > > > > > > >> > The complete stack trace is: > > > > > > > >> > --------- Cause --------- > > > > > > > >> > android.view.InflateException: Binary XML file line #27: Error > > > > inflating > > > > > > >> > class java.lang.reflect.Constructor > > > > > android.view.LayoutInflater.createView(LayoutInflater.java:512) > > > com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) > > > > > android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562) > > > android.view.LayoutInflater.rInflate(LayoutInflater.java:617) > > > android.view.LayoutInflater.rInflate(LayoutInflater.java:620) > > > android.view.LayoutInflater.rInflate(LayoutInflater.java:620) > > > android.view.LayoutInflater.inflate(LayoutInflater.java:407) > > > android.view.LayoutInflater.inflate(LayoutInflater.java:320) > > > android.view.LayoutInflater.inflate(LayoutInflater.java:276) > > > > > com.altcanvas.readerscope.ItemDetails.<init>(ItemDetails.java:145) > > > > > com.altcanvas.readerscope.ItemDetails.getInstance(ItemDetails.java:566) > > > com.altcanvas.readerscope.ReaderTask.doInBackground(ReaderTask.java:1027) > > > > > com.altcanvas.readerscope.ReaderTask.doInBackground(ReaderTask.java:21) > > > com.altcanvas.readerscope.UserTask$2.call(UserTask.java:187) > > > > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256) > > > > > > >> > java.util.concurrent.FutureTask.run(FutureTask.java:122) > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648) > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673) > > > > > > >> > java.lang.Thread.run(Thread.java:1058) > > > > > > >> > ------------------------------- > > > > > > > >> > The code around line 145 in ItemDetails.java is: > > > > > > > >> > 144. widerContainer = new LinearLayout(app); > > > > > > > >> > 145. widerContainer.addView((LinearLayout) inflater > > > > > > > >> > 146. .inflate(R.layout.delcs,null), > > layoutFW); > > > > > > > >> > 147. widerContainer.addView((LinearLayout) inflater > > > > > > > >> > 148. .inflate(R.layout.digg,null), > > layoutFW); > > > > > > > >> > > On Sun, Oct 11, 2009 at 12:34 PM, Jayesh Salvi < > > > > jayeshsa...@gmail.com > > > > > > > >> > > wrote: > > > > > > >> > > > Hi, > > > > > > >> > > > In past couple of days, users of my app have sent crash > > > > reports > > > > > > >> > > indicating > > > > > > >> > > > errors in layout inflation. > > > > > > >> > > > "android.view.InflateException: Binary XML file line #27: > > > > Error > > > > > > >> inflating > > > > > > >> > > > class java.lang.reflect.Constructor" > > > > > > >> > > > After some investigation I found out that all four of them > > > > were > > > > > > >> using the > > > > > > >> > > > new Sprint HTC Hero devices. This error hasn't been > > reported > > > > on any > > > > > > >> other > > > > > > >> > > > device/ROM nor could I repro it in the emulator. > > > > > > >> > > > From searching around, I figured this is the kind of error > > > > that one > > > > > > >> gets > > > > > > >> > > if > > > > > > >> > > > layout is too big or too wide. Although my layout is very > > well > > > > > > >> within the > > > > > > >> > > > limits that Android framework puts, I split it further and > > > > asked the > > > > > > >> > > users > > > > > > >> > > > to test. However, even with this fix the users are seeing > > > > similar > > > > > > >> crash > > > > > > >> > > > while inflating the layout. > > > > > > >> > > > Has anyone else had same experience with the new Hero > > devices? > > > > > > >> > > > Any suggestions on how I can proceed to fix/workaround the > > > > issue - > > > > > > >> given > > > > > > >> > > > that I don't have access to any such device? > > > > > > >> > > > Following is the detailed stack trace of the crash: > > > > > > > >> > > > android.view.InflateException: Binary- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---