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$Tracc iaView"
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(A ctivityThread.java:2141)
E/AndroidRuntime( 164): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2157)
E/AndroidRuntime( 164): at android.app.ActivityThread.access$1800(ActivityThr ead.java:112)
E/AndroidRuntime( 164): at android.app.ActivityThread$H.handleMessage(Activit yThread.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.jav a: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$MethodAndArgsCa ller.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(Layo utInflater.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.setCo ntentView(PhoneWindow.java:231)
E/AndroidRuntime( 164): at android.app.Activity.setContentView(Activity.java: 1567)
E/AndroidRuntime( 164): at com1.example.android.prova.Activitygps.onCreate(Ac tivitygps.java:60)
E/AndroidRuntime( 164): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1122)
E/AndroidRuntime( 164): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.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.PathClassLoader@4339c200
E/AndroidRuntime( 164): at dalvik.system.PathClassLoader.findClass(PathClassL oader.java:215)
E/AndroidRuntime( 164): at java.lang.ClassLoader.loadClass(ClassLoader.java:4 53)
E/AndroidRuntime( 164): at java.lang.ClassLoader.loadClass(ClassLoader.java:4 21)
E/AndroidRuntime( 164): at android.view.LayoutInflater.createView(LayoutInfla ter.java:465)
E/AndroidRuntime( 164): at android.view.LayoutInflater.createViewFromTag(Layo utInflater.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...
Pp