Comment résoudre l'erreur "com.android.internal.R ne peut pas être résolu" lorsque j'utilise le fichier Android 'MultiAutoCompleteTextView.java',

Je veux implémenter ma base Tokenizer sur le fichier "MultiAutoCompleteTextView.java",

Mais je rencontre une erreur " com.android.internal.R cannot be resolved " lorsque j'essaie de

  • Android Studio pm installation annulée
  • Est-il possible d'ajouter un tableau ou un objet à SharedPreferences sur Android?
  • Définir textColor dans TextView dans le fichier de mise en page principale layout / main.xml qui ne fait pas référence au fichier colors.xml. (Il veut un #RRGGBB au lieu de @ color / text_color)
  • Connexion à MySQL depuis Android avec JDBC
  • ActivityNotFoundException essayant de charger les Contacts ContentProvider?
  • GetExternalFilesdir Fail
  • Importer " MultiAutoCompleteTextView.java " dans mon projet.

    code:

     public class MultiAutoCompleteTextView extends AutoCompleteTextView { private Tokenizer mTokenizer; public MultiAutoCompleteTextView(Context context) { this(context, null); } public MultiAutoCompleteTextView(Context context, AttributeSet attrs) { this(context, attrs, com.android.internal.R.attr.autoCompleteTextViewStyle); } public MultiAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } . . . } 

    Je n'ai pas recherché de solutions pour résoudre ce problème. Comment corriger "com.android.internal.R.attr.autoCompleteTextViewStyle" mon propre attr?

    Merci pour toutes les suggestions.

    4 Solutions collect form web for “Comment résoudre l'erreur "com.android.internal.R ne peut pas être résolu" lorsque j'utilise le fichier Android 'MultiAutoCompleteTextView.java',”

    Vous pourriez utiliser

      public MultiAutoCompleteTextView(Context context, AttributeSet attrs) { this(context, attrs, Resources.getSystem().getIdentifier("autoCompleteTextViewStyle", "attr", "android"); } 

    Vous ne pouvez pas accéder aux identifiants de com.android.internal.R au moment de la compilation, mais vous pouvez accéder aux ressources internes définies au moment de l'exécution et obtenir la ressource par nom. Vous devez savoir que cela est plus lent que l'accès direct et qu'il n'y a aucune garantie, qu'une ressource interne sera disponible dans les versions futures d'une version intégrée d'Android ou de fournisseur.

    Essayez de copier l'entrée attrs.xml depuis attrs.xml :

     <attr name="autoCompleteTextViewStyle" format="reference" /> 

    Ajoutez un res/values/attrs.xml à votre application et mettez cette ligne ici. Enfin, mettez à jour votre code pour référencer R de votre colis:

     import com.your.package.R; ... public MultiAutoCompleteTextView(Context context, AttributeSet attrs) { this(context, attrs, R.attr.autoCompleteTextViewStyle); } 

    Crédit à inazaruk pour cette procédure.

    Oui, vous pouvez utiliser le R interne avec la réflexion Java.

    Pour obtenir autoCompleteTextViewStyle:

     Class clasz = Class.forName("com.android.internal.R$attr") Field field = clasz.getDeclaredField("autoCompleteTextViewStyle"); field.setAccessible(true); int autoCompleteTextViewStyle= (int)field.get(null); 

    Comme indiqué précédemment, cette façon est un hack, généralement Android offre un style public similaire ou similaire basé sur Android.R

    Je ne sais pas si vous pouvez importer et référencer à partir d'un internal . En tant que solution de contournement, téléchargez les références de la source Android et incluez dans vos propres ressources, et faites référence à votre package.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.