Cómo resolver el error "com.android.internal.R no se puede resolver" cuando uso el archivo android 'MultiAutoCompleteTextView.java',

Quiero implementar mi propia base de Tokenizer en el archivo "MultiAutoCompleteTextView.java",

Pero encuentro un error " com.android.internal.R cannot be resolved " cuando intento

MultiAutoCompleteTextView.java " MultiAutoCompleteTextView.java " a mi proyecto.

código:

 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); } . . . } 

No he investigado ninguna solución para resolver este problema. ¿Cómo corregir "com.android.internal.R.attr.autoCompleteTextViewStyle" mi propio attr?

Gracias por cualquier sugerencia.

4 Solutions collect form web for “Cómo resolver el error "com.android.internal.R no se puede resolver" cuando uso el archivo android 'MultiAutoCompleteTextView.java',”

Podrías usar

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

No puedes acceder a id's de com.android.internal.R en tiempo de compilación, pero puedes acceder a los recursos internos definidos en tiempo de ejecución y obtener el recurso por nombre. Debe tener en cuenta que esto es más lento que el acceso directo y no hay garantía de que un recurso interno estará disponible en versiones futuras de android o en compilaciones específicas del proveedor.

Intente copiar la entrada attr de attrs.xml :

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

Agregue un res/values/attrs.xml a su aplicación y coloque esta línea allí. Por último, actualice su código para hacer referencia a R desde su paquete:

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

Agradecer a inazaruk por este procedimiento.

Sí, puede utilizar el R interno con reflexión Java.

Para obtener autoCompleteTextViewStyle:

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

Como se dijo antes, esta forma es un hack, por lo general Android ofrece un estilo público similar o similar basado en android.R

No estoy seguro de si puede importar y hacer referencia desde el internal . Como una solución alternativa descargar las referencias de la fuente de Android, e incluir en sus propios recursos, y la referencia de su paquete.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.