gpt4 book ai didi

java - Android Studio : The following classes could not be instantiated: - com. google.android.gms.ads.AdView(公开课,显示异常)

转载 作者:行者123 更新时间:2023-11-30 09:03:47 24 4
gpt4 key购买 nike

广告在模拟器上完美显示,但我仍然在设备预览中看到此错误。此错误会阻止带有渲染问题的预览。我已经尝试了 SO 中的所有内容,但没有任何效果。这是我的 .java:

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;


public class ols_home extends ActionBarActivity {

private AdView adView;
private static final String AD_UNIT_ID = "ca-app-pub-8360704058410758/3766067820";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_ols_home);


adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);

AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();

AdView adView = (AdView) this.findViewById(R.id.adView);
adView.loadAd(adRequest);


Button button = (Button) findViewById(R.id.button);
Button button2 = (Button) findViewById(R.id.button2);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ols_home.this, About_Section.class));
}
});

button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ols_home.this, Explore.class));
}
});

我的 Activity.xml:

<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="ca-app-pub-8360704058410758/3766067820"
ads:adSize="SMART_BANNER"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />

我的 list .xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

<uses-feature android:name="android.hardware.touchscreen" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity
</application>

渲染问题:

无法实例化以下类:- com.google.android.gms.ads.AdView(公开课,显示异常) 提示:在您的自定义 View 中使用 View.isInEditMode() 以跳过代码或在 IDE 异常详细信息 java.lang.ClassNotFoundException 中显示示例数据:com.google.android.gms.internal.bv$a at java.lang。 ClassLoader.loadClass(ClassLoader.java:306) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) 在 java.lang.ClassLoader.defineClass1(ClassLoader.java:-2) 在 java.lang.ClassLoader.defineClassCond( ClassLoader.java:637) 位于 java.lang.ClassLoader.defineClass(ClassLoader.java:621) 位于 java.lang.ClassLoader.defineClass(ClassLoader.java:471) 位于 java.lang.ClassLoader.loadClass(ClassLoader.java:306) ) 位于 java.lang.ClassLoader.loadClass(ClassLoader.java:247) 位于 com.google.android.gms.internal.aw。在 com.google.android.gms.internal.aw。在 com.google.android.gms.ads.AdView。在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802) 在 android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 在 android. view.LayoutInflater.rInflate(LayoutInflater.java:778) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:500) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:381) 将堆栈复制到剪贴板

最佳答案

我相信,如果您将代码切换为这样的流程,应该可以修复此错误:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_ols_home);

// putting this line first instantiates the adView
AdView adView = (AdView) this.findViewById(R.id.adView);

adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);

AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();

adView.loadAd(adRequest);

在我看来,您在实际实例化 AdView 之前尝试调用它,并且通过在使用之前移动该代码,您可以确保在尝试使用它时实例化它。让我们知道!

关于java - Android Studio : The following classes could not be instantiated: - com. google.android.gms.ads.AdView(公开课,显示异常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com