Galera eu estou tento um problema quando eu recupero os dados de um editText com findViewById() , ele pega os valores de referencia ao invés do valor real
editTextAnotacao = findViewById(R.id.editTextAnotacao).toString();
valor de referencia : androidx.appcompat.widget.AppCompatEditText{471c5d0 VFED…CL. .F… 0,0-720,856 #7f080082 app:id/editTextAnotacao}
Valor Real = Vazio
então o único meio que encontro de pegar o valor real é fazendo isso :
String editTextAnotacao = ((EditText) findViewById(R.id.editTextAnotacao)).getText().toString();
o transformando em String , o problema é que eu preciso dele como Edit Text
para conseguir dar um Set aqui
String anotacao = preferencias.recuperarAnotacao();
if(!anotacao.equals(""))
editTextAnotacao.set(anotacao);
;
}
alguém pode me orientar como posso converter devolta para EditText a String
Segue abaixo todo o Código
public class MainActivity extends AppCompatActivity {
private AnotacoesPreferencia preferencias;
private EditText editTextAnotacao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preferencias = new AnotacoesPreferencia(getApplicationContext());
String editTextAnotacao = ((EditText) findViewById(R.id.editTextAnotacao)).getText().toString();
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String textoRecuperado = findViewById(R.id.editTextAnotacao).toString();
if(textoRecuperado.equals("")){
Snackbar.make(view, "Nenhum texto inserido", Snackbar.LENGTH_LONG).show();
}else{
preferencias.salvarAnotacao(textoRecuperado);
Snackbar.make(view, "Anotação Salva com sucesso", Snackbar.LENGTH_LONG).show();
}
}
});
// Recuperar Anotação
String anotacao = preferencias.recuperarAnotacao();
if(!anotacao.equals(""))
editTextAnotacao.set(anotacao);
;
}
}
