J'essaie de faire référence à une vue personnalisée dans la mise en page XML de helloWorld, mais je reçois l'exception suivante: Erreur lors du gonflement de la classe acme.my.MyTextView. Cependant, je suis capable d'instancier la vue et de l'ajouter manuellement à la vue de contenu principale. La vue personnalisée est construite à partir de sa propre mise en page XML. Comment puis-je faire fonctionner ça?Problème lié à une vue personnalisée dans une mise en page XML
public class MyTextView extends LinearLayout {
MyTextView(Context context){
super(context);
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(R.layout.my_text_view,this);
}
MyTextView(Context context, AttributeSet attrs){
super(context, attrs);
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(R.layout.my_text_view,this);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<view class = "acme.my.MyTextView"
android:id="@+id/myView"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
@fredrick: en général, il y a un « causé par » exception ci-dessous celui que vous citez qui explique une – CommonsWare
MyTextView (Context, AttributeSet) J'ai un point d'arrêt en haut du constructeur et il n'est jamais touché – Fredrick
Eh bien, je l'ai fait avec des mises en page très simples et ça semble fonctionner. comprendre ce qui se brise dans la mise en page plus complexe. – Fredrick