Other Mistake :-/. Many thanks Kostya, it works
On 17 jun, 13:13, Kostya Vasilyev <kmans...@gmail.com> wrote: > The logcat says: > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): > *java.lang.NullPointerException* > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > android.graphics.Canvas.drawRoundRect(Canvas.java:938) > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > *com.es.TransparentPanel.dispatchDraw(TransparentPanel.java:53) > * > Your code calls canvas.drawRoundRect with something that's null. > > Specifically, it's the paint object. > > It's null because you code doesn't call init() from the first constructor. > > And the first constructor is what's used for loading views from XML. > > Whenever you see the "Auto-generated constructor stub" comment, it's a hint > to examine the code and make sure it makes sense. > > The "TODO" is there to remind about this, and shows in Eclipse's task view. > > -- Kostya > > 2011/6/17 ABSOLUT <davidt...@gmail.com> > > > Many thanks! I don't notice that :-( > > > Now I have other error but I cant understand why: > > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): FATAL EXCEPTION: main > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): > > java.lang.NullPointerException > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.graphics.Canvas.drawRoundRect(Canvas.java:938) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > com.es.TransparentPanel.dispatchDraw(TransparentPanel.java:53) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1644) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.View.draw(View.java:6883) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.widget.FrameLayout.draw(FrameLayout.java:357) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1646) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.drawChild(ViewGroup.java:1644) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.View.draw(View.java:6883) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.widget.FrameLayout.draw(FrameLayout.java:357) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > com.android.internal.policy.impl.PhoneWindow > > $DecorView.draw(PhoneWindow.java:1862) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewRoot.draw(ViewRoot.java:1522) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewRoot.performTraversals(ViewRoot.java:1258) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.view.ViewRoot.handleMessage(ViewRoot.java:1859) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.os.Handler.dispatchMessage(Handler.java:99) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.os.Looper.loop(Looper.java:123) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > android.app.ActivityThread.main(ActivityThread.java:3683) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > java.lang.reflect.Method.invokeNative(Native Method) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > java.lang.reflect.Method.invoke(Method.java:507) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > com.android.internal.os.ZygoteInit > > $MethodAndArgsCaller.run(ZygoteInit.java:839) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) > > 06-17 11:55:19.280: ERROR/AndroidRuntime(359): at > > dalvik.system.NativeStart.main(Native Method) > > > My custom relativelayout is: > > > package com.es; > > > import android.content.Context; > > > public class TransparentPanel extends RelativeLayout { > > > private Paint innerPaint, borderPaint; > > > public TransparentPanel(Context context, AttributeSet attrs) { > > super(context, attrs); > > // TODO Auto-generated constructor stub > > } > > > public TransparentPanel (Context context) { > > super(context); > > init(); > > } > > > private void init() { > > innerPaint = new Paint(); > > innerPaint.setARGB(225, 75, 75, 75); //gray > > innerPaint.setAntiAlias(true); > > > borderPaint = new Paint(); > > borderPaint.setARGB(255, 255, 255, 255); > > borderPaint.setAntiAlias(true); > > borderPaint.setStyle(Style.STROKE); > > borderPaint.setStrokeWidth(2); > > } > > > public void setInnerPaint(Paint innerPaint) { > > this.innerPaint = innerPaint; > > } > > > public void setBorderPaint(Paint borderPaint) { > > this.borderPaint = borderPaint; > > } > > > @Override > > protected void dispatchDraw(Canvas canvas) { > > > RectF drawRect = new RectF(); > > drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight()); > > > canvas.drawRoundRect(drawRect, 5, 5, innerPaint); > > canvas.drawRoundRect(drawRect, 5, 5, borderPaint); > > > super.dispatchDraw(canvas); > > } > > > } > > > Could you help me? Many thanks again > > > On 17 jun, 11:17, Kostya Vasilyev <kmans...@gmail.com> wrote: > > > The layout inflater is unable to find your transparent panel class. > > > > Make sure the class name is correct, and that the class is public. > > > > -- > > > Kostya Vasilyev > > > 17.06.2011 12:01 пользователь "ABSOLUT" <davidt...@gmail.com> написал: > > > > > Hi, > > > > I'm trying to make a custom relativelayout but when I start the > > > > activity it fails: > > > > > 06-17 09:57:23.253: ERROR/AndroidRuntime(526): > > > > java.lang.RuntimeException: Unable to start activity > > > > ComponentInfo{com.es/com.es.KkActivity}: > > > > android.view.InflateException: Binary XML file line #4: Error > > > > inflating class com.es.kk.TransparentPanel > > > > 06-17 09:57:23.253: ERROR/AndroidRuntime(526): Caused by: > > > > android.view.InflateException: Binary XML file line #4: Error > > > > inflating class com.es.kk.TransparentPanel > > > > 06-17 09:57:23.253: ERROR/AndroidRuntime(526): Caused by: > > > > java.lang.ClassNotFoundException: com.es.kk.TransparentPanel in loader > > > > dalvik.system.PathClassLoader[/data/app/com.es-2.apk] > > > > ...... > > > > > My layout is: > > > > > <?xml version="1.0" encoding="utf-8"?> > > > > <!-- Broadcast Receiver que hay que definir para la actualizacion del > > > > widget --> > > > > <!-- <RelativeLayout xmlns:android=" > >http://schemas.android.com/apk/res/ > > > > android" --> > > > > <com.es.kk.TransparentPanel xmlns:android="http://schemas.android.com/ > > > > apk/res/android" > > > > android:id="@+id/relativo" > > > > android:layout_width="wrap_content" > > > > android:layout_height="wrap_content" > > > > > <ImageView android:id="@+id/imagenWidget" > > > > android:src="@drawable/tv" > > > > android:layout_height="fill_parent" > > > > android:layout_alignParentLeft="true" android:layout_width="42dip"/> > > > > <ImageView android:id="@+id/barra" > > > > android:src="@drawable/vertical" > > > > android:layout_height="100dip" > > > > android:layout_toRightOf="@id/imagenWidget" > > > > android:layout_width="5dip"/> > > > > <TextView android:id="@+id/textoWidget" > > > > android:layout_toRightOf="@id/barra" android:layout_height="50dip" > > > > android:gravity="center" android:layout_width="50dip" > > > > android:inputType="textMultiLine" android:textSize="8sp"> > > > > </TextView> > > > > <ImageView android:id="@+id/barrahor" > > > > android:src="@drawable/vvh" > > > > android:layout_toRightOf="@id/barra" > > > > android:layout_below="@+id/textoWidget" android:layout_width="50dip" > > > > android:layout_height="wrap_content" android:adjustViewBounds="true"/> > > > > <Button android:id="@+id/btnborrarCron" > > > > android:layout_below="@+id/barrahor" android:layout_toRightOf="@id/ > > > > barra" android:background="@drawable/custom_widget_button" > > > > android:layout_height="match_parent" android:drawableLeft="@drawable/ > > > > borrado" android:layout_width="50dip" android:textSize="8sp" > > > > android:layout_centerVertical="true" android:gravity="center_vertical" > > > > android:paddingLeft="10dip"> > > > > </Button> > > > > <ImageView android:id="@+id/barra2" > > > > android:src="@drawable/vertical" > > > > android:layout_height="100dip" > > > > android:layout_toRightOf="@id/textoWidget" > > > > android:layout_width="5dip"/> > > > > <Button android:id="@+id/textoWidgetCron" > > > > android:layout_toRightOf="@id/barra2" android:text="hola" > > > > android:background="@drawable/custom_widget_button" > > > > android:layout_height="fill_parent" android:gravity="center" > > > > android:paddingTop="2dip" android:layout_width="match_parent" > > > > android:textSize="8sp"> > > > > </Button> > > > > </com.es.kk.TransparentPanel> > > > > > Could you help me please? > > > > Many thanks and sorry for my english! > > > > > -- > > > > 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 > > > -- > > 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 -- 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