Android: Establecer Editar texto o ver la vista de texto Programáticamente

Estoy desarrollando una aplicación en la que estoy creando un Edittext programáticamente como:

EditText edText = new EditText(this); edText.setId(1); edText .setLayoutParams(new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,0f)); edText .setInputType(InputType.TYPE_CLASS_NUMBER); edText.setHint("dsgsdgsgs"); tableLayout.addView(edText); 

Aquí estoy fijando el id del texto de la edición como "1" por la línea edText.setId(1); En entero.

Pero lo que necesito es – Quiero fijar la identificación en carácter como por ejemplo:

 edText.setId("edittext_hello"); 

Para que pueda acceder a ella a través de ese id. ¿Cómo puedo lograr esta tarea por favor ayuda.

No puede establecer ID como una cadena. Sólo puede asignar entero como Id. Pero si quieres usar String como id para la facilidad de uso entonces – en archivo res / values ​​/ ids.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <item name="edit_text_hello" type="id"/> </resources> 

Y luego usarlo como:

 edText.setId(R.id.edit_text_hello); 

Así que puedes hacer lo que necesites.

Como los otros han dicho que no puedes hacer esto. ¿Por qué desea / cuál es su requisito?

Podrías crear un id en un archivo xml y usarlo, si quieres que sea descriptivo. Este es también un mejor enfoque que el uso de int literal, ya que puede obtener un choque de id con otras vistas en la jerarquía de diseño (improbable pero posible). Esto me parece la mejor / más limpia solución a su problema.

Ver http://developer.android.com/guide/topics/resources/more-resources.html#Id

Por ejemplo, en res/values/id.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="edittext_hello" /> </resources> 

Y luego establecer con

 edText.setId(R.id.edittext_hello); 

No, no puede establecer id como una cadena. Sólo puede asignar integer como Id. Puede usar setTag() de View con String. Pero para id solo será Integer. Como los recursos de android se mantienen en el archivo R.java para el tipo de entero.

Actualizar:

¿Por qué no establece String u otros tipos de datos (sin entero) id en ningún recurso android?

Porque:

Un ID de recurso de Android es un entero de 32 bits. Comprende

 an 8-bit Package id [bits 24-31] an 8-bit Type id [bits 16-23] a 16-bit Entry index [bits 0-15] 

El identificador de paquete identifica el fragmento de paquete que contiene el recurso.

El identificador de tipo identifica el tipo de recurso y, por lo tanto, el fragmento y el fragmento correspondientes de tipo y de tipo de tipos de datos que contienen su valor o valor (es)

El índice de entrada identifica el recurso individual dentro de los fragmentos de Tipo de tipografía y Tipo (s).

No se puede establecer id con char , String o cualquier otra cosa excepto int … porque, id es mantenido por el archivo R.java que contiene sólo int .

Puede utilizar setTag() lugar de setId() .

Use setTag() como a continuación …

 edText.setTag("edittext_hello"); 

Puede utilizar setText () en lugar de setId ().

EdText_view.setText ("Su texto");

  • ¿Documentación de Android incorrecta sobre los alias de diseño?
  • Android: Estándares para prefijar archivos en el directorio RES aparte de ic_?
  • Cómo agregar pagelines a un EditText en android?
  • Cómo utilizar View.OnTouchListener en lugar de onClick
  • Dimensión de ViewPager de Android
  • El receptor de difusión onReceive () nunca se llama
  • Android Phonegap y Fragmentos
  • Google Maps en Android: No se pudo encontrar el estilo 'mapViewStyle' en el tema actual
  • Cómo configurar el diseño dinámicamente en android
  • Add Layout progamatically android
  • Teclado suave de Android no abierto en webView`
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.