I am getting "NoSuchMethodError" in this code. I have tried to take help from this link, but it couldn't help me.I am providing the code with log output.Hopefully these will help you people to understand the problem in the code. Please help me to get rid of it.
@SuppressLint("NewApi")
@Override
protected void onSetContentView() {
this.mRenderSurfaceView = new RenderSurfaceView(this);
this.mRenderSurfaceView.setRenderer(this.mEngine, this);
final android.widget.FrameLayout.LayoutParams surfaceViewLayoutParams =(LayoutParams) ((ViewGroup.MarginLayoutParams)( new FrameLayout.LayoutParams(
super.createSurfaceViewLayoutParams())));
final FrameLayout.LayoutParams frameLayoutLayoutParams =
(LayoutParams) ((ViewGroup.MarginLayoutParams) (new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT)));
// Creating the banner view.
AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(this.getResources().getString(R.string.google_ad_id));
adView.loadAd(new AdRequest.Builder().build());
final FrameLayout.LayoutParams adViewLayoutParams = (LayoutParams) ((ViewGroup.MarginLayoutParams) ( new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM
| Gravity.CENTER_HORIZONTAL)));
final FrameLayout frameLayout = new FrameLayout(this);
/*final FrameLayout.LayoutParams frameLayoutLayoutParams = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT);*/
surfaceViewLayoutParams.setMargins(0, 0, 0, 50);
frameLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
frameLayout.addView(adView, adViewLayoutParams);
this.setContentView(frameLayout, frameLayoutLayoutParams);
}
Here is the Logcat output
11-08 11:57:55.192: E/AndroidRuntime(8442): FATAL EXCEPTION: main
11-08 11:57:55.192: E/AndroidRuntime(8442):java.lang.NoSuchMethodError:android.widget.FrameLayout$LayoutParams.<init>
11-08 11:57:55.192: E/AndroidRuntime(8442):atcom.mcc.rattle.Rattle2.onSetContentView(Rattle2.java:526)
11-08 11:57:55.192: E/AndroidRuntime(8442):atorg.andengine.ui.activity.BaseGameActivity.onCreate(BaseGameActivity.java:85)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.Activity.performCreate(Activity.java:5020)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.ActivityThread.performLaunchActivity(ActivityThread.java:2160)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2223)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.ActivityThread.access$600(ActivityThread.java:149)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.os.Handler.dispatchMessage(Handler.java:99)
11-08 11:57:55.192: E/AndroidRuntime(8442):at android.os.Looper.loop(Looper.java:153)
11-08 11:57:55.192: E/AndroidRuntime(8442):atandroid.app.ActivityThread.main(ActivityThread.java:5034)
11-08 11:57:55.192: E/AndroidRuntime(8442):atjava.lang.reflect.Method.invokeNative(Native Method)
11-08 11:57:55.192: E/AndroidRuntime(8442):atjava.lang.reflect.Method.invoke(Method.java:511)
11-08 11:57:55.192: E/AndroidRuntime(8442):atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
11-08 11:57:55.192: E/AndroidRuntime(8442):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
11-08 11:57:55.192: E/AndroidRuntime(8442):at dalvik.system.NativeStart.main(Native Method)
The error is pointing at the line
final FrameLayout.LayoutParams frameLayoutLayoutParams =
(LayoutParams) ((ViewGroup.MarginLayoutParams) (new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT)));