Search code examples
javaandroidandroid-edittext

Request data from Programmatically EditText


I'm making a class that displays the UI programmatically. I display a lot of EditText and others and i want to request the data of any one to save in the BD. How i can give an id for either one?

Here's the code

            for (int i=0; i<lista.size();i++){
                String dato = lista.get(i).getData_type();
                String title = lista.get(i).getField_label();
                String id = lista.get(i).getField_name();


                if (dato.equals("Text")){
                    TextView tv = new TextView(getApplicationContext());
                    tv.setLayoutParams(lp);
                    Lview.addView(tv);
                    tv.setText("Ingrese "+title);
                    EditText et = new EditText(getApplicationContext());
                    et.setLayoutParams(lp);
                    et.setInputType(InputType.TYPE_CLASS_TEXT);
                    Lview.addView(et);
                    et.setHint("Ingrese Datos");
                }
            }

            btnIng.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    Toast.makeText(plantilla.this, "El elemento es ", Toast.LENGTH_SHORT).show();
                }
            });

Solution

  •  for (int i=0; i<lista.size();i++){
                String dato = lista.get(i).getData_type();
                String title = lista.get(i).getField_label();
                String id = lista.get(i).getField_name();
    
    
                if (dato.equals("Text")){
                    TextView tv = new TextView(getApplicationContext());
                    tv.setLayoutParams(lp);
                    tv.setId(assignDifferentId)
                    Lview.addView(tv);
                    tv.setText("Ingrese "+title);
                    EditText et = new EditText(getApplicationContext());
                    et.setLayoutParams(lp);
                   et.setId(assignDifferentId2)
                    et.setInputType(InputType.TYPE_CLASS_TEXT);
                    Lview.addView(et);
                    et.setHint("Ingrese Datos");
                }
            }
    
            btnIng.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    Toast.makeText(plantilla.this, "El elemento es ", Toast.LENGTH_SHORT).show();
                }
            });
    

    And you can access this by id as following

    EditText et = Lview.findViewById(yourassignedId)
    String text = et.getText().toString()