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