1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Layout für ViewPager wird nicht gefunden

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Boris0815, 19.07.2012.

  1. Boris0815, 19.07.2012 #1
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    ich nutz für meine App den Viewpager. Dazu möchte ich den ViewPagerIndicator nutzen. Der ViewPager ansich hat schon mal funktioniert.
    Nun habe ich den ViewPageIndicator hinzugefügt und habe nun das Problem, dass anscheinend der ViewPager nicht mehr gefunden wird.
    Hier ein bissle Quellcode:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      >
      <com.viewpagerindicator.TitlePageIndicator
        android:id="@+id/titles"
        android:padding="10dip"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent" 
      />
      <android.support.v4.view.ViewPager
          android:id="@+id/viewpager"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
          />
    
    </LinearLayout>
    Code:
                ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(pages);
                viewPager = (ViewPager)findViewById(R.id.viewpager);
                viewPager.setAdapter(pagerAdapter);
         
                setContentView(R.id.viewpager);
                
                indicat = (TitlePageIndicator)findViewById(R.id.titles);
                indicat.setViewPager(viewPager);
    Ich erhalte folgende FehlerMeldung:


    Code:
    07-19 09:59:53.671: W/System.err(18684): java.lang.NullPointerException
    07-19 09:59:53.671: W/System.err(18684): at de.facentis.gui.AccountTabActivity.onCreate(AccountTabActivity.java:116)
    07-19 09:59:53.671: W/System.err(18684): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    07-19 09:59:53.671: W/System.err(18684): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
    07-19 09:59:53.671: W/System.err(18684): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
    07-19 09:59:53.671: W/System.err(18684): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    07-19 09:59:53.671: W/System.err(18684): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
    07-19 09:59:53.671: W/System.err(18684): at android.os.Handler.dispatchMessage(Handler.java:99)
    07-19 09:59:53.671: W/System.err(18684): at android.os.Looper.loop(Looper.java:130)
    07-19 09:59:53.671: W/System.err(18684): at android.app.ActivityThread.main(ActivityThread.java:3691)
    07-19 09:59:53.671: W/System.err(18684): at java.lang.reflect.Method.invokeNative(Native Method)
    07-19 09:59:53.671: W/System.err(18684): at java.lang.reflect.Method.invoke(Method.java:507)
    07-19 09:59:53.671: W/System.err(18684): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
    07-19 09:59:53.671: W/System.err(18684): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
    07-19 09:59:53.671: W/System.err(18684): at dalvik.system.NativeStart.main(Native Method)
    Zeile 116 ist: viewPager.setAdapter(pagerAdapter);
    das viewPager-Objekt ist null. Der pagerAdapter ist nicht null.

    Was kann ich da tun?

    Gruß

    Boris
     
  2. StefMa, 19.07.2012 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
  3. Boris0815, 19.07.2012 #3
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    wenn ich SetContent vor findById setze bekomme ich eine andere Fehlermeldung die mir leider nichts sagt.

    Code:
    android.content.res.Resources$NotFoundException: Resource ID #0x7f080001 type #0x12 is not valid
    android.content.res.Resources.loadXmlResourceParser(Resources.java:2180)
    android.content.res.Resources.getLayout(Resources.java:929)
    android.view.LayoutInflater.inflate(LayoutInflater.java:318)
    android.view.LayoutInflater.inflate(LayoutInflater.java:276)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:215)
    at android.app.Activity.setContentView(Activity.java:1663)
    at de.facentis.gui.AccountTabActivity.onCreate(AccountTabActivity.java:62)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3691)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
    at dalvik.system.NativeStart.main(Native Method)
    Gruß

    Boris
     
  4. StefMa, 19.07.2012 #4
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Du kannst ja auch nicht einfach "sturr" dein setContentView(R.id.xy) davor setzten. Überleg doch mal!

    Gruß

    P.s.: Der Link hilft wirklich xD Habe ihn grade mal überflogen :D
     
  5. Boris0815, 19.07.2012 #5
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    ja ok das war nen Schnellschuß ins Leere. :blushing:
    Id vs Layout ich habs nochmal gelesen...

    Leider hab ich immernoch ein Problem, was aber an etwas anderem zu liegen scheint.
    Ich füge mein PageViewer und den PageViewIndicator nun in der OnCreate-Methode hinzu.

    Code:
                ViewPagerAdapter adapter = new ViewPagerAdapter(pages);
    
                viewPager = new ViewPager(this);
                viewPager.setAdapter(adapter);
    
                indicat = new TabPageIndicator(this);
                indicat.setViewPager(viewPager);
    
                LinearLayout body = (LinearLayout) findViewById(R.id.mainLinear);
                body.addView(indicat);
                body.addView(viewPager);
    Das Layout:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:id="@+id/mainLinear"
      >
    </LinearLayout>
    Wenn ich die betreffenden Zeilen mit "TabPageIndicator" auskommentiere funktioniert meine App ohne Probleme, wenn ich sie drinn lasse erhalte ich folgende Fehler:

    Code:
    FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.viewpagerindicator.TabPageIndicator
    at de.facentis.gui.AccountTabActivity.onCreate(AccountTabActivity.java:122)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3691)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
    at dalvik.system.NativeStart.main(Native Method)
    Ich habe jetzt schon einiges dazu gegoogled, aber komme trotzdem nicht weiter. Angeblich gab es, wie ich es verstanden habe, gibt es Probleme wenn man eine .jar in das Projekt einfügt.
    Ich habe es auf zwei Arten probiert erhalte aber beides mal den gleichen Fehler.
    Einmal habe ich die .jar ViewPageIndicator in mein package kopiert und dann über Properties -> Java Build Path die library eingebunden.
    Als zweites habe ich das Projekt ViewPageIndicatorin meinen Workspace geladen und dort den Java Build Path gesetzt.
    Aber wie gesagt beides ohne Erfolg.

    An welcher Stelle muss ich schauen, um dieses Problem zu lösen?

    Gruß

    Boris
     
  6. StefMa, 19.07.2012 #6
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    D.h. wenn du den Idecator weg machst, funktioniert es?!
    Aber dann ist ja auch nicht der Idecator zu sehen, was du ja haben willst?
    Richtig verstanden ja?!

    Also ein problem zum "importieren" der .jar kann ja nicht sein. Sonst ist das kompletet "Projekt" nicht läuffähig :D

    Hast du auch, wenn du den Idecator als "eigenstöndiges projekt in Eclipse" lädst, auch den haken gemacht, dass es eine libary ist? Bzw. eine 4.0.3(?) [musst du auf der homepage lesen!] API ist und nicht eine "Activity"?!

    Gruß
     
  7. Boris0815, 19.07.2012 #7
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Jo.

    Ja. Unter den Properties des Indeicator-Projektes steht in der Auswahl Android das es eine Library ist.

    Was meinst Du damit? In den Properties steht unter Android 1.6.

    Gruß

    Boris
     

Diese Seite empfehlen