Je suis ce android developer page pour la création d'attributs personnalisés pour une application. Tout va bien et Je suis capable de compiler et voir les résultats aussi. Mais la partie qui est en cause est IDE.Android Studio se plaint de la coutume de l'espace de noms inattendu. Est-il possible de désactiver/masquer ce message d'erreur? C'est très agaçant.Préfixe d'espace de nom inattendu "personnalisé" trouvé pour le fragment de balise lors de la tentative d'utilisation d'attributs personnalisés
Même avec cette erreur, cependant, je suis capable de compiler et exécuter l'application.
J'ai suivi follwing étapes.
1) res/valeurs/fichier attrs.xml créé et ajouté
<?xml version="1.0" encoding="utf-8"?> <resources>
<declare-styleable name="FragArguments">
<attr name="max_allowed" format="integer"/>
<attr name="header" format="string"/>
</declare-styleable>
2) Essayer d'utiliser dans mon étiquette de fragment de fichier MainLayout
<LinearLayout xmlns:custom="http://schemas.android.com/apk/res"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1">
<fragment android:id="@+id/msg"
android:name="org.android.fragment.MessageFragment"
custom:max_allowed="85"
custom:header="@string/header"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
</LinearLayout>
3. Application de la attributs personnalisés via le code remplaçant la méthode onInflate() du fragment
@Override
public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) {
super.onInflate(activity, attrs, savedInstanceState);
TypedArray typedArray = activity.obtainStyledAttributes(attrs, R.styleable.FragArguments);
max_allowed = typedArray.getInt(R.styleable.FragArguments_max_allowed, -1);
header = typedArray.getString(R.styleable.FragArguments_header);
typedArray.recycle();
}