es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear un EditText con un menú desplegable en Android, puedes utilizar una combinación de los widgets EditText y Spinner. Aquí te mostramos cómo puedes hacerlo:

    1. En tu archivo de diseño XML, añade el siguiente código:
    <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="16dp">
    
        <edittext android:id="@+id/editText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Ingresa texto"></edittext>
    
        <spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content"></spinner>
    
    </linearlayout>
    

    Esto creará un LinearLayout horizontal con un EditText y un Spinner. El EditText ocupará la mayor parte del espacio y el Spinner se mostrará en el lado derecho.

    1. A continuación, debes añadir elementos al Spinner. Puedes hacer esto tanto en tu código Java como en tu archivo de diseño XML. Aquí tienes un ejemplo de cómo hacerlo en Java:
    Spinner spinner = findViewById(R.id.spinner);
    ArrayAdapter<string> adapter = new ArrayAdapter<>(this,
        android.R.layout.simple_spinner_item, new String[] {"Opción 1", "Opción 2", "Opción 3"});
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    

    Esto crea un nuevo ArrayAdapter con tres elementos y lo establece como adaptador para el Spinner. El método setDropDownViewResource() se utiliza para especificar el diseño del menú desplegable.

    1. Por último, debes manejar la selección de elementos en el Spinner. Puedes hacer esto añadiendo un OnItemSelectedListener al Spinner:
    Spinner spinner = findViewById(R.id.spinner);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String selectedItem = (String) parent.getItemAtPosition(position);
            EditText editText = findViewById(R.id.editText);
            editText.setText(selectedItem);
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            // No hacer nada
        }
    });
    

    Este código escucha las selecciones de elementos en el Spinner y establece el texto del EditText como el elemento seleccionado.

    ¡Eso es todo! Con estos pasos, puedes crear un EditText con un menú desplegable en Android.

Comments are closed.