Frage

ich eine benutzerdefinierte Ansicht haben in src> myproject.test> Homeview

In meinem Haupt-Layout xml Ich habe folgende:

<?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>

In der HomeActivity habe ich einen Anruf, wie dies in der onCreate Methode.

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

Die App Kraft geschlossen, wenn die setContentView Methode aufgerufen wird. Es scheint, dass mein Haupt xml nicht korrekt ist.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Haben Sie meinen es nicht darum geht, die

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

und bevor es auf der Linie abstürzt?

Überprüfen Sie, ob Ihr Konstruktor

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

und nicht

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

Sie müssen die AttributeSet

Andere Tipps

Überprüfen Sie, dass Ihre Konstrukteure Homeview Geräte:

 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"

Keiner meiner Layouts @+id. Vielleicht sollte man den Blick auf home_root gesetzt. Erkundigen Sie sich bei Ihnen R.java für den Namen des Layouts, oder versuchen

setContentView(R.layout.home_root);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top