diff --git a/src/api-impl/android/opengl/GLSurfaceView.java b/src/api-impl/android/opengl/GLSurfaceView.java index 818d69aa..6fd24554 100644 --- a/src/api-impl/android/opengl/GLSurfaceView.java +++ b/src/api-impl/android/opengl/GLSurfaceView.java @@ -27,8 +27,8 @@ public class GLSurfaceView extends View implements SurfaceHolder.Callback { // T public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {} public void surfaceDestroyed(SurfaceHolder holder) {} - public GLSurfaceView(AttributeSet attrs) { - super(attrs); + public GLSurfaceView(Context context, AttributeSet attrs) { + super(context, attrs); java_egl_wrapper = (EGL10)EGLContext.getEGL(); java_gl_wrapper = (GL10)EGLContext.getGL(); diff --git a/src/api-impl/android/view/LayoutInflater.java b/src/api-impl/android/view/LayoutInflater.java index 5abbf50d..00941ae3 100644 --- a/src/api-impl/android/view/LayoutInflater.java +++ b/src/api-impl/android/view/LayoutInflater.java @@ -35,12 +35,12 @@ public class LayoutInflater { public final View createView(String name, String prefix, AttributeSet attrs) throws Exception { System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>> createView(" + name + ", " + prefix + ", " + attrs + ");"); - String view_class_name = prefix + name; + String view_class_name = prefix!=null ? prefix + name : name; Class view_class = Class.forName(view_class_name); - Constructor constructor = view_class.getConstructor(AttributeSet.class); + Constructor constructor = view_class.getConstructor(Context.class, AttributeSet.class); - View view_instance = (View)constructor.newInstance(attrs); + View view_instance = (View)constructor.newInstance(Context.this_application, attrs); return view_instance; } diff --git a/src/api-impl/android/view/View.java b/src/api-impl/android/view/View.java index b93e5250..74ab6833 100644 --- a/src/api-impl/android/view/View.java +++ b/src/api-impl/android/view/View.java @@ -688,11 +688,14 @@ public class View extends Object { public View() {} // FIXME - public View(AttributeSet attrs) { - id = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "id", 0); + public View(Context context, AttributeSet attrs) { + this(context); - if (id != 0) - view_by_id.put(id, this); + if (attrs != null) { + id = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "id", 0); + if (id != 0) + setId(id); + } } public View findViewById(int id) { @@ -766,7 +769,9 @@ public class View extends Object { System.out.println("setContentDescription called with: >" + contentDescription + "<"); } - public void setId(int id) {} + public void setId(int id) { + view_by_id.put(id, this); + } public void setOnKeyListener(OnKeyListener l) {} diff --git a/src/api-impl/android/view/ViewGroup.java b/src/api-impl/android/view/ViewGroup.java index f520e076..b1465582 100644 --- a/src/api-impl/android/view/ViewGroup.java +++ b/src/api-impl/android/view/ViewGroup.java @@ -18,8 +18,14 @@ public class ViewGroup extends View implements ViewParent, ViewManager { children = new ArrayList(); } - public ViewGroup(AttributeSet attrs) { - super(attrs); + public ViewGroup(Context context, AttributeSet attrs) { + super(context, attrs); + + children = new ArrayList(); + } + + public ViewGroup(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs); children = new ArrayList(); } diff --git a/src/api-impl/android/widget/EditText.java b/src/api-impl/android/widget/EditText.java index fc49233b..abbe13a9 100644 --- a/src/api-impl/android/widget/EditText.java +++ b/src/api-impl/android/widget/EditText.java @@ -1,10 +1,15 @@ package android.widget; import android.content.Context; +import android.util.AttributeSet; import android.view.View; public class EditText extends TextView { public EditText(Context context) { super(context); } + + public EditText(Context context, AttributeSet attrs) { + super(context, attrs); + } } diff --git a/src/api-impl/android/widget/FrameLayout.java b/src/api-impl/android/widget/FrameLayout.java index e2dc3a88..f7259008 100644 --- a/src/api-impl/android/widget/FrameLayout.java +++ b/src/api-impl/android/widget/FrameLayout.java @@ -8,8 +8,8 @@ import android.view.ViewGroup.LayoutParams; public class FrameLayout extends ViewGroup { - public FrameLayout(AttributeSet attrs) { - super(attrs); + public FrameLayout(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } diff --git a/src/api-impl/android/widget/ImageView.java b/src/api-impl/android/widget/ImageView.java index 0d578cae..2967021b 100644 --- a/src/api-impl/android/widget/ImageView.java +++ b/src/api-impl/android/widget/ImageView.java @@ -12,8 +12,8 @@ public class ImageView extends View { private Bitmap bitmap; - public ImageView(AttributeSet attrs) { - super(attrs); + public ImageView(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); int resource = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "src", 0); diff --git a/src/api-impl/android/widget/LinearLayout.java b/src/api-impl/android/widget/LinearLayout.java index 715ca8e9..1c90be52 100644 --- a/src/api-impl/android/widget/LinearLayout.java +++ b/src/api-impl/android/widget/LinearLayout.java @@ -10,8 +10,8 @@ public class LinearLayout extends ViewGroup { boolean orientation; - public LinearLayout(AttributeSet attrs) { - super(attrs); + public LinearLayout(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } diff --git a/src/api-impl/android/widget/ProgressBar.java b/src/api-impl/android/widget/ProgressBar.java index a7b683dc..1ea937b2 100644 --- a/src/api-impl/android/widget/ProgressBar.java +++ b/src/api-impl/android/widget/ProgressBar.java @@ -5,8 +5,8 @@ import android.util.AttributeSet; import android.view.View; public class ProgressBar extends View { - public ProgressBar(AttributeSet attrs) { - super(attrs); + public ProgressBar(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } diff --git a/src/api-impl/android/widget/RelativeLayout.java b/src/api-impl/android/widget/RelativeLayout.java index 132b7bee..11b3022b 100644 --- a/src/api-impl/android/widget/RelativeLayout.java +++ b/src/api-impl/android/widget/RelativeLayout.java @@ -10,8 +10,8 @@ public class RelativeLayout extends ViewGroup { boolean orientation; - public RelativeLayout(AttributeSet attrs) { - super(attrs); + public RelativeLayout(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } diff --git a/src/api-impl/android/widget/ScrollView.java b/src/api-impl/android/widget/ScrollView.java index 331fc97d..9d2fc164 100644 --- a/src/api-impl/android/widget/ScrollView.java +++ b/src/api-impl/android/widget/ScrollView.java @@ -7,8 +7,8 @@ import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; public class ScrollView extends ViewGroup { - public ScrollView(AttributeSet attrs) { - super(attrs); + public ScrollView(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } diff --git a/src/api-impl/android/widget/TextView.java b/src/api-impl/android/widget/TextView.java index e32150ab..55831149 100644 --- a/src/api-impl/android/widget/TextView.java +++ b/src/api-impl/android/widget/TextView.java @@ -17,8 +17,8 @@ public class TextView extends View { id = _id; } - public TextView(AttributeSet attrs) { - super(attrs); + public TextView(Context context, AttributeSet attrs) { + super(context, attrs); native_constructor(attrs); } @@ -44,6 +44,10 @@ public class TextView extends View { native_set_markup(1); } + public void setText(int resId) { + setText(getContext().getResources().getText(resId)); + } + private native final void native_set_markup(int bool); public native final void native_setText(String text);