2010-10-21 9 views
0

J'ai une vue personnalisée dans src> myproject.test> AccueilVoirAndroid vue personnalisée force provoquant près

Dans mon principal xml de mise en page que je donne les résultats suivants:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/home_root" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <myproject.test.HomeView 
     android:id="@+id/home_view" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     > 
    </myproject.test.HomeView> 

</LinearLayout> 

Dans le HomeActivity j'ai un appel comme ceci dans la méthode onCreate.

setContentView(R.layout.main); 
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view); 

La force de l'application s'est fermée lorsque la méthode setContentView a été appelée. Il semble que mon XML principal n'est pas correct.

Des idées?

+2

Quelle est la sortie logcat? – EboMike

+0

@EBoMiko où puis-je voir ça? – skyfoot

+0

Appelez 'adb logcat V' à partir d'une console. Cela devrait être votre premier instinct chaque fois que vous obtenez une force proche. – EboMike

Répondre

2

Voulez-vous dire son pas se rendre à l'

HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view); 

et s'écraser sur la ligne avant qu'il ne?

Vérifiez si votre constructeur est

HomeView(final Context context, final AttributeSet attrs){ 
    super(context, attrs); 

et non

HomeView(final Context context){ 
    super(context); 

vous avez besoin du AttributeSet

+0

oui, si je commente la ligne d'installation HomeView, il force encore la fermeture – skyfoot

+0

Comment initialisez-vous votre vue de la maison? pourriez-vous montrer du code, et la sortie de logcat – GaryD

+0

Juste hors de l'intrest, votre layout est-il aussi appelé main.xml? et est-ce dans le répertoire de mise en page? – GaryD

0

Vérifiez constructeurs que votre AccueilVoir implémente:

public HomeView(Context context, AttributeSet atts) { 
    super(context, atts); 
} 
0
<LinearLayout xmlns:android = 
     http://schemas.android.com/apk/res/android" 
    android:id="@+id/home_root" 
    android:orientation="vertical" 

Aucune de mes mises en page ne comporte @+id. Peut-être que vous devriez définir la vue à home_root. Vérifiez auprès de votre R.java le nom de la mise en page, ou essayez

setContentView(R.layout.home_root); 
Questions connexes