Android vue personnalisée faisant fermer la force
-
10-10-2019 - |
Question
J'ai une vue personnalisée dans src> myproject.test> AccueilVoir
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 celui-ci dans la méthode onCreate.
setContentView(R.layout.main);
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view);
La force d'application fermé lorsque la méthode est appelée setContentView. Il semble que mon principal xml est incorrect.
Toutes les idées?
La solution
Voulez-vous dire son pas se rendre à la
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
Autres conseils
Vérifier les constructeurs que vos outils de homeview:
public HomeView(Context context, AttributeSet atts) {
super(context, atts);
}
<LinearLayout xmlns:android =
http://schemas.android.com/apk/res/android"
android:id="@+id/home_root"
android:orientation="vertical"
Aucun de mes mises en page ont @+id
. Peut-être que vous devez définir la vue de home_root
. Vérifiez avec vous R.java pour le nom de la mise en page, ou essayez
setContentView(R.layout.home_root);