0

Я получаю эту ошибку в моем файле main.xml: «android.widget.Scrollview не может быть добавлен в android.widget.Linearlayout» Ошибка появляется, когда Я пытаюсь запустить свой проект Это мой main.xmlandroid.widget.Scrollview не может быть отнесен к android.widget.Linearlayout

<?xml version="1.0" encoding="utf-8"?> 
<!-- This file is /res/layout/main.xml --> 



<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<com.google.ads.AdView android:id="@+id/adView" 
         xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
         android:layout_width="fill_parent" 
         android:layout_height="53dp" 
         android:layout_alignParentBottom="true" 
         ads:adUnitId="a14e77c91b43c50" 
         ads:adSize="BANNER" 
         ads:testing="false" 
         ads:loadAdOnCreate="true"/> 

<ScrollView  
android:id="@+id/scroll" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_above="@+id/adView"> 

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 

<Button android:id="@+id/holaPlayerBtn" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/custom_button_yellow" 
android:text="@string/hola" 
android:textColor="#000000" 
android:textStyle="bold"/> 

<Button android:id="@+id/adiosPlayerBtn" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/custom_button_yellow" 
android:text="@string/adios" 
android:textColor="#000000" 
android:textStyle="bold"/> 

<Button android:background="@drawable/custom_button_yellow" 
android:id="@+id/buenosdiasPlayerBtn" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:text="@string/buenosdias" 
android:textColor="#000000" 
android:textStyle="bold"/> 
.... 
</LinearLayout> 

</ScrollView> 

</RelativeLayout> 

код Java, связанный с этой ошибкой:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    //Para LeadBolt... no está muy claro como van estos IDs 
    ad = new AdController(this, "141625063"); 
    ad.loadStartAd("402593567", "989759922"); 
    AppTracker.startSession(this, "558524843"); 


    // Crear la adView 
    adView = new AdView(this, AdSize.BANNER, "ca-app-pub-8829538089345362/9479506111"); 


    LinearLayout layout = (LinearLayout)findViewById(R.id.scroll); 

    // Añadirle la adView 
    layout.addView(adView); 

    // Iniciar una solicitud genérica para cargarla con un anuncio 
    adView.loadAd(new AdRequest()); 

LogCat я получаю это:

12-24 11:57:58.532: D/(28836): bjarch:Create hashTable 
12-24 11:57:58.556: I/Ads(28836): To get test ads on this device, call adRequest.addTestDevice("75936679897CC4349BD1D98DA4C9B155"); 
12-24 11:57:58.633: I/dalvikvm(28836): threadid=3: reacting to signal 3 
12-24 11:57:58.741: I/dalvikvm(28836): Wrote stack traces to '/data/anr/traces.txt' 
12-24 11:57:58.741: D/dalvikvm(28836): DexOpt: --- BEGIN 'ads1527252550.jar' (bootstrap=0) --- 
12-24 11:57:58.896: D/AndroidRuntime(28836): Shutting down VM 
12-24 11:57:58.897: W/dalvikvm(28836): threadid=1: thread exiting with uncaught exception (group=0x41a0e6f0) 
12-24 11:57:58.900: E/AndroidRuntime(28836): FATAL EXCEPTION: main 
12-24 11:57:58.900: E/AndroidRuntime(28836): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spc.learn.spanish/com.spc.learn.spanish.AprenderSpanish}: java.lang.ClassCastException: android.widget.ScrollView cannot be cast to android.widget.LinearLayout 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2049) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread.access$600(ActivityThread.java:134) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.os.Looper.loop(Looper.java:137) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread.main(ActivityThread.java:4697) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at java.lang.reflect.Method.invokeNative(Native Method) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at java.lang.reflect.Method.invoke(Method.java:511) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at dalvik.system.NativeStart.main(Native Method) 
12-24 11:57:58.900: E/AndroidRuntime(28836): Caused by: java.lang.ClassCastException: android.widget.ScrollView cannot be cast to android.widget.LinearLayout 
12-24 11:57:58.900: E/AndroidRuntime(28836): at com.spc.learn.spanish.AprenderSpanish.onCreate(AprenderSpanish.java:144) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.Activity.performCreate(Activity.java:4542) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
12-24 11:57:58.900: E/AndroidRuntime(28836): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2013) 
12-24 11:57:58.900: E/AndroidRuntime(28836): ... 11 more 
12-24 11:57:59.055: D/dalvikvm(28836): DexOpt: --- END 'ads1527252550.jar' (success) --- 
12-24 11:57:59.055: D/dalvikvm(28836): DEX prep '/data/data/com.spc.learn.spanish/cache/ads1527252550.jar': unzip in 0ms, rewrite 314ms 
12-24 11:57:59.135: D/CallStack(28836): #00 pc 002d637a /system/lib/libwebcore.so 
12-24 11:57:59.135: D/CallStack(28836): #01 pc 00557e76 /system/lib/libwebcore.so 
12-24 11:57:59.135: D/CallStack(28836): #02 pc 0002d200 /system/lib/libdvm.so 
12-24 11:57:59.184: I/dalvikvm(28836): threadid=3: reacting to signal 3 
12-24 11:57:59.189: I/dalvikvm(28836): Wrote stack traces to '/data/anr/traces.txt' 

Я предпринимал несколько попыток удалить эту ошибку, но никак.

+1

Опубликовать код Java, на который ссылается эта ошибка. Кроме того, попробуйте очистить свой проект «Project -> Clean ...» – codeMagic

+0

Также вы можете указать свой логарифм – csmckelvey

+0

@MikeKeepsOnShine, который сказал что-нибудь о 'ListView'? – codeMagic

ответ

0

Вы пытаетесь приведение типа

Scrollview

в

LinearLayout

на следующей строке в коде

LinearLayout layout = (LinearLayout) findViewById(R.id.scroll); 

Пожалуйста, исправьте его с помощью

ScrollView layout = (ScrollView) findViewById(R.id.scroll); 

Надеется, что это помогает.

1

Проблема заключается в файле XML прокрутки это идентификатор вашего ScrollView.

В то время как в вашем кодирования вы имеете найти идентификатор вашего LinearLayout с помощью этого андроида: ID = "@ + идентификатор/прокручивать". Так что есть проблема. так изменить:

LinearLayout layout = (LinearLayout) findViewById(R.id.scroll); 

в

ScrollView layout = (ScrollView) findViewById(R.id.scroll); 

Возможно, если вы хотите добавить свой динамический взгляд на LinearLayout затем дать идентификатор к нему:

Like андроид: ид = "@ + идентификатор/линейный

и после этого найти

LinearLayout layout = (LinearLayout) findViewById(R.id.linear); 

Спасибо!

0

Если вы хотите, чтобы ваш LinearLayout, дайте ему идентификатор (android:id="@+id/mylinearlayout") и просто захватить, что с LinearLayout layout = (LinearLayout) findViewById(R.id.mylinearlayout);

Смежные вопросы