Android:FrameLayout$LayoutParams上的java.lang.NoSuchMethodError。
我在这段代码中没有得到任何错误。我曾尝试从link获取帮助,但它无法帮助我。我正在提供带有日志输出的代码。希望这些将帮助您了解代码中的问题。请帮我把它处理掉Android:FrameLayout$LayoutParams上的java.lang.NoSuchMethodError。,java,android,nosuchmethoderror,Java,Android,Nosuchmethoderror,我在这段代码中没有得到任何错误。我曾尝试从link获取帮助,但它无法帮助我。我正在提供带有日志输出的代码。希望这些将帮助您了解代码中的问题。请帮我把它处理掉 @SuppressLint("NewApi") @Override protected void onSetContentView() { this.mRenderSurfaceView = new RenderSurfaceView(this); this.mRenderSurfaceView.setRenderer(t
@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);
}
这是Logcat输出
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)
当我看到这样的异常时,首先想到的是库/依赖项不匹配。检查库与其他库的兼容性。尝试删除此项:LayoutParams优先于ViewGroup.MarginLayoutParams。@Haresh Chhelana我尝试过,但它显示我向LayoutParams添加强制转换尝试用FrameLayout替换LayoutParams。LayoutParams必须尝试。它显示出与以前完全相同的错误和问题
final FrameLayout.LayoutParams frameLayoutLayoutParams =
(LayoutParams) ((ViewGroup.MarginLayoutParams) (new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT)));