Android visualizzazione personalizzata causando forza vicino
-
10-10-2019 - |
Domanda
Ho una visualizzazione personalizzata in src> myproject.test> HomeView
Nel mio principale XML di layout ho il seguente:
<?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>
Nel HomeActivity ho una chiamata come questo nel metodo onCreate.
setContentView(R.layout.main);
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view);
La forza di applicazione chiusa quando il metodo setContentView viene chiamato. Sembra che il mio xml principale non è corretta.
Tutte le idee?
Soluzione
Vuoi dire la sua non arrivare alla
HomeView mHomeView = (HomeView) this.findViewById(R.id.home_view);
e schiantarsi sulla linea prima di esso?
Controlla se il tuo costruttore è
HomeView(final Context context, final AttributeSet attrs){
super(context, attrs);
e non
HomeView(final Context context){
super(context);
è necessario l'AttributeSet
Altri suggerimenti
Controlla i costruttori che gli attrezzi 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"
Nessuno dei miei layout hanno @+id
. Forse si dovrebbe impostare la visualizzazione a home_root
. Verificare con te R.java per il nome del layout, o provare
setContentView(R.layout.home_root);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow