0

For a project, I was analyzing part of a Java code structure for mobile applications. During the analysis, I realized that it didn't have a TextInputLayout, but right at the beginning it imports a TextInputEditText.

import com.google.android.material.textfield.TextInputEditText;

Now I'm not sure whether or not TextInputEditText needs a TextInputLayout to work, and if it's recommended to use it without the TextInputLayout?

here the complete code:

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.google.android.material.textfield.TextInputEditText;

import java.util.Timer;
import java.util.TimerTask;


public class MainActivity extends AppCompatActivity {

    private final Timer timer = new Timer();
    TimerTask timerTask;

    private TextInputEditText editNomeLivro, editNomeAutor, editNomeEditora;
    private TextView textResultado;
    private EditText plainTextResultado;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_letssee);

        editNomeAutor = findViewById(R.id.editNomeAutor);
        editNomeLivro = findViewById(R.id.editNomeLivro);
        editNomeEditora = findViewById(R.id.editNomeEditora);
        textResultado = findViewById(R.id.textResultado);
        plainTextResultado = findViewById(R.id.plainTextResultado);





        timerTask = new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        gotoMainActivity();
                    }
                });
            }
        };
        timer.schedule(timerTask, 3000);
    }

    private void gotoMainActivity(){
        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
        finish();
    }

    public void criarLinhaBD(View View){
        //recuperar valor digitado
        String nomeLivro = editNomeLivro.getText().toString();
        String nomeAutor = editNomeAutor.getText().toString();
        String nomeEditora = editNomeEditora.getText().toString();
        //validar os campos digitados.
        Boolean camposValidados = validarCampos(nomeAutor,nomeLivro,nomeEditora);
        if (camposValidados) {
            textResultado.setText("Insert into livros(nomeLivro,nomeAutor,nomeEditora) values ('" + nomeAutor + "','" + nomeLivro + "','" + nomeEditora + "');");
            plainTextResultado.setText("Insert into livros(nomeLivro,nomeAutor,nomeEditora) values ('" + nomeAutor + "','" + nomeLivro + "','" + nomeEditora + "');");
        }else{
            textResultado.setText("Preencha os preços primeiro!!");
        }
    }
    public Boolean validarCampos(String nomeAutor, String nomeLivro, String nomeEditora){
        Boolean camposValidados = true;

        if (nomeAutor == null || nomeAutor.equals("")) {
            camposValidados = false;
        } else if (nomeLivro == null || nomeLivro.equals("")) {
            camposValidados = false;
        } else if (nomeEditora == null || nomeEditora.equals("")) {
            camposValidados = false;
        }
        return camposValidados;
    }

}
1
  • Technically, yes you can use it on its own, but there is no benefit in doing so. It was designed specifically to accompany TextInputLayout. It doesn't really help or add anything in any other setting. Also, there might be some small differences or glitches in behavior for a few things, like extracted mode.
    – Mike M.
    Commented Apr 1 at 23:53

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.