It HAS to be a static class to be internal and publicly accessible.
The problem is that it does not provide the right constructor.

It looks like the class is not an internal class but declared in XML
as an internal class.

On Wed, Apr 22, 2009 at 9:25 AM, Mark Murphy <[email protected]> wrote:
>
> Pierpa wrote:
>> Hello, I am new to android programming...so please be patient..
>>
>> I am trying to load a custom  view (TracciaView) into an activity
>> (Activitygps), where my custom view in defined as a subclass of an
>> activty class. I created the following xml layout file for the
>> activity containing the custom view:
>>
>> ----
>> <?xml version="1.0" encoding="utf-8"?>
>> <view xmlns:android="http://schemas.android.com/apk/res/android";
>>
>>  class="com.example.android.prova.Activitygps$TracciaView"
>>             android:id="@+id/TracciaV"
>>             android:layout_width="fill_parent"
>>             android:layout_height="fill_parent"
>> />
>> ----
>> this is the subclass TracciaView:
>>
>>  public static class TracciaView extends View {
>>
>>                private ShapeDrawable mDrawable;
>>
>>                public TracciaView(Context context) {
>>                   super(context);
>>
>>                   int x = 10;
>>                   int y = 10;
>>                   int width = 300;
>>                   int height = 200;
>>
>>                   mDrawable = new ShapeDrawable(new OvalShape());
>>                   mDrawable.getPaint().setColor(0xff74AC23);
>>                   mDrawable.setBounds(x, y, x + width, y + height);
>>
>>
>>                }
>>               �...@override protected void onDraw(Canvas canvas) {
>>
>>                            mDrawable.draw(canvas);
>>                            super.onDraw(canvas);
>>                   }
>>
>>        }
>>
>>
>> What happens is I am keeping on getting runtime error (the app dies),
>> looking in the LogCat I get:
>>
>> I/ActivityManager(   53): Starting activity: Intent { comp=
>> {com1.example.android.prova/com1.example.android.prova.Activitygps} }
>> D/AndroidRuntime(  164): Shutting down VM
>> W/dalvikvm(  164): threadid=3: thread exiting with uncaught exception
>> (group=0x4000fe68)
>> E/AndroidRuntime(  164): Uncaught handler: thread main exiting due to
>> uncaught exception
>> E/AndroidRuntime(  164): java.lang.RuntimeException: Unable to start
>> activity ComponentInfo{com1.example.android.prova/
>> com1.example.android.prova.Activitygps}:
>> android.view.InflateException: Binary XML file line #2: Error
>> inflating class com.example.android.prova.Activitygps$TracciaView
>> E/AndroidRuntime(  164):      at
>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
>> 2141)
>> E/AndroidRuntime(  164):      at
>> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
>> 2157)
>> E/AndroidRuntime(  164):      at android.app.ActivityThread.access$1800
>> (ActivityThread.java:112)
>> E/AndroidRuntime(  164):      at android.app.ActivityThread$H.handleMessage
>> (ActivityThread.java:1581)
>> E/AndroidRuntime(  164):      at android.os.Handler.dispatchMessage
>> (Handler.java:88)
>> E/AndroidRuntime(  164):      at android.os.Looper.loop(Looper.java:123)
>> E/AndroidRuntime(  164):      at android.app.ActivityThread.main
>> (ActivityThread.java:3739)
>> E/AndroidRuntime(  164):      at java.lang.reflect.Method.invokeNative
>> (Native Method)
>> E/AndroidRuntime(  164):      at java.lang.reflect.Method.invoke
>> (Method.java:515)
>> E/AndroidRuntime(  164):      at com.android.internal.os.ZygoteInit
>> $MethodAndArgsCaller.run(ZygoteInit.java:739)
>> E/AndroidRuntime(  164):      at com.android.internal.os.ZygoteInit.main
>> (ZygoteInit.java:497)
>> E/AndroidRuntime(  164):      at dalvik.system.NativeStart.main(Native
>> Method)
>> E/AndroidRuntime(  164): Caused by: android.view.InflateException:
>> Binary XML file line #2: Error inflating class
>> com.example.android.prova.Activitygps$TracciaView
>> E/AndroidRuntime(  164):      at
>> android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:575)
>> E/AndroidRuntime(  164):      at android.view.LayoutInflater.inflate
>> (LayoutInflater.java:385)
>> E/AndroidRuntime(  164):      at android.view.LayoutInflater.inflate
>> (LayoutInflater.java:320)
>> E/AndroidRuntime(  164):      at android.view.LayoutInflater.inflate
>> (LayoutInflater.java:276)
>> E/AndroidRuntime(  164):      at
>> com.android.internal.policy.impl.PhoneWindow.setContentView
>> (PhoneWindow.java:231)
>> E/AndroidRuntime(  164):      at android.app.Activity.setContentView
>> (Activity.java:1567)
>> E/AndroidRuntime(  164):      at
>> com1.example.android.prova.Activitygps.onCreate(Activitygps.java:60)
>> E/AndroidRuntime(  164):      at
>> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
>> 1122)
>> E/AndroidRuntime(  164):      at
>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
>> 2104)
>> E/AndroidRuntime(  164):      ... 11 more
>> E/AndroidRuntime(  164): Caused by: java.lang.ClassNotFoundException:
>> com.example.android.prova.Activitygps$TracciaView in loader
>> dalvik.system.pathclassloa...@4339c200
>> E/AndroidRuntime(  164):      at dalvik.system.PathClassLoader.findClass
>> (PathClassLoader.java:215)
>> E/AndroidRuntime(  164):      at java.lang.ClassLoader.loadClass
>> (ClassLoader.java:453)
>> E/AndroidRuntime(  164):      at java.lang.ClassLoader.loadClass
>> (ClassLoader.java:421)
>> E/AndroidRuntime(  164):      at android.view.LayoutInflater.createView
>> (LayoutInflater.java:465)
>> E/AndroidRuntime(  164):      at
>> android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:564)
>> E/AndroidRuntime(  164):      ... 19 more
>> I/Process (   53): Sending signal. PID: 164 SIG: 3
>> I/dalvikvm(  164): threadid=7: reacting to signal 3
>> I/dalvikvm(  164): Wrote stack trace to '/data/anr/traces.txt'
>> I/ARMAssembler(   53): generated
>> scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at
>> [0x26cfd8:0x26d07c] in 1686764 ns
>>
>>
>>
>> I lost almost two days  trying to figure out what's wrong ...
>>
>> Any help/hint will be very much appreciated...
>
> Try not making it a static class and see if that helps.
>
> --
> Mark Murphy (a Commons Guy)
> http://commonsware.com | http://twitter.com/commonsguy
>
> _The Busy Coder's Guide to Android Development_ Version 2.0 Available!
>
> >
>



-- 
Romain Guy
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time
to provide private support.  All such questions should be posted on
public forums, where I and others can see and answer them

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" 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-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to