2013-07-15 15 views
5

Muszę opracować aplikację na Androida.Ukryj dołączony układ w Androidzie

Utworzono jeden plik układu, który wykorzystuje inny plik układu przy użyciu znacznika include.

<include 
    android:id="@+id/footer" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:layout_alignParentBottom="true" 
    layout="@layout/footer_tabs" /> 
    <include 
    android:id="@+id/footer1" 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:layout_alignParentBottom="true" 
    layout="@layout/footertabs" /> 

Chciałbym pokazać dołączony układ, gdy odpowiedź jest zerowa, w przeciwnym razie chciałbym ukryć układ i pokazać inne. Oto co mam do tej pory:

footertabs = (RelativeLayout) findViewById(R.id.footertab); 
footer_tabs = (RelativeLayout) findViewById(R.id.footer_tab); 

if (Constants.response==null) { 
    footertabs.setVisibility(View.VISIBLE); 
    footer_tabs.setVisibility(View.GONE); 
} 
else 
{ 
    footertabs.setVisibility(View.GONE); 
    footer_tabs.setVisibility(View.VISIBLE); 
} 

Ale ja otrzymuję następujący błąd:

07-15 17:19:09.893: E/AndroidRuntime(15143): Caused by: java.lang.NullPointerException 
07-15 17:19:09.893: E/AndroidRuntime(15143): at com.example.androidbestinuk.HomePage.onCreate(HomePage.java:56) 

Proszę mi pomóc debugowanie ten błąd.

Odpowiedz

5

należy zmienić

footertabs = (RelativeLayout) findViewById(R.id.footertab); 
footer_tabs = (RelativeLayout) findViewById(R.id.footer_tab); 

z

footertabs = (RelativeLayout) findViewById(R.id.footer); 
footer_tabs = (RelativeLayout) findViewById(R.id.footer1); 
1

Wydaje mi się, że używasz niewłaściwych identyfikatorów. Dostajesz gdzieś wskaźnik zerowy (nie jestem pewien gdzie, ponieważ nie ma numerów linii), ale widzę w twoim xml masz identyfikator, footer i footer1, ale w twoim kodzie próbujesz znaleźć elementy o identyfikatorze footertab i footer_tab. Powinieneś dopasować te id.

Powiązane problemy