Segue código activity monttreino:
public class MontTreino extends AppCompatActivity {
private RecyclerView recyclerTreino;
private AdapterTreination adapterTreination;
private List<Treination> treination = new ArrayList<>();
private FloatingActionButton adicionarTreino;
private DatabaseReference movimentacaoRef;
private DatabaseReference treinoRef = ConfiguracaoFirebase.getFirebaseDatabase();
private ValueEventListener valueEventListenerTreinos;
private FirebaseAuth autenticacao = ConfiguracaoFirebase.getFirebaseAutenticacao();
Dialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mont_treino);
recyclerTreino = findViewById(R.id.recyclerTreino);
adicionarTreino = findViewById(R.id.adicionarTreino);
//Configurar Layout
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
recyclerTreino.setLayoutManager(layoutManager);
//Configurar Adapter
this.salvarTreino();
adapterTreination = new AdapterTreination(treination, this);
recyclerTreino.setAdapter(adapterTreination);
recyclerTreino.addOnItemTouchListener(new RecyclerItemClickListener(
MontTreino.this,
recyclerTreino,
new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Treination treinoSelecionado = treination.get(position);
Intent intent = new Intent(MontTreino.this, PagTreino.class);
intent.putExtra("treinoSelecionado", treinoSelecionado);
startActivity(intent);
}
@Override
public void onLongItemClick(View view, int position) {
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
}
));
adicionarTreino.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
montTreino();
dialog.show();
}
});
}
private void montTreino(){
dialog = new Dialog(MontTreino.this);
dialog.setContentView(R.layout.treino);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
}
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
dialog.setCancelable(false);
dialog.getWindow().getAttributes().windowAnimations = R.style.ShapeAppearanceOverlay_MaterialComponents_MaterialCalendar_Window_Fullscreen;
TextView adicionar = dialog.findViewById(R.id.adicionar_d);
EditText treino = dialog.findViewById(R.id.edit_treino);
EditText observacoes = dialog.findViewById(R.id.observacoes);
adicionar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailUsuario = autenticacao.getCurrentUser().getEmail();
String idUsuario = Base64Custom.codificarBase64(emailUsuario);
String texto = treino.getText().toString();
String observa = observacoes.getText().toString();
Treination treination = new Treination();
treination.setTexto(texto);
treination.salvarTreino();
Intent intent = new Intent(MontTreino.this, PagTreino.class);
startActivity(intent);
dialog.dismiss();
}
});
}
private void salvarTreino(){
String emailUsuario = autenticacao.getCurrentUser().getEmail();
String idUsuario = Base64Custom.codificarBase64(emailUsuario);
movimentacaoRef = treinoRef.child("Salvar Nomes")
.child("Treino")
.child(idUsuario);
valueEventListenerTreinos = movimentacaoRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
treination.clear();
for (DataSnapshot ds : snapshot.getChildren()){
Treination treinations = ds.getValue(Treination.class);
treination.add(treinations);
}
adapterTreination.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
Segue Código AdapterTreination
public class AdapterTreination extends RecyclerView.Adapter<AdapterTreination.MyViewHolder> {
private List<Treination> treination;
public AdapterTreination(List<Treination> treinations, MontTreino montTreino) {
this.treination = treinations;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemLista = LayoutInflater.from(parent.getContext())
.inflate(R.layout.salvarmonttreino, parent, false);
return new AdapterTreination.MyViewHolder(itemLista);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
Treination treinatios = treination.get(position);
holder.texto.setText((String) treinatios.getTexto());
holder.halter.setImageResource(R.drawable.halter);
holder.close.setImageResource(R.drawable.ic_close);
}
@Override
public int getItemCount() {
return treination.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
private TextView texto;
private ImageView halter;
private ImageView close;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
texto = itemView.findViewById(R.id.text_salva);
halter = itemView.findViewById(R.id.treino);
close = itemView.findViewById(R.id.edit2);
}
}
}
Segue código Treination
public class Treination implements Serializable {
private String texto;
private String observacoes;
public String getTexto() {
return texto;
}
public void setTexto(String texto) {
this.texto = texto;
}
public String getObservacoes() {
return observacoes;
}
public void setObservacoes(String observacoes) {
this.observacoes = observacoes;
}
public Treination() {
}
public Treination(String texto, String observacoes) {
this.texto = texto;
this.observacoes = observacoes;
}
public void salvarTreino() {
FirebaseAuth autenticacao = ConfiguracaoFirebase.getFirebaseAutenticacao();
String idUsuario = Base64Custom.codificarBase64(autenticacao.getCurrentUser().getEmail());
DatabaseReference firebase = ConfiguracaoFirebase.getFirebaseDatabase();
firebase.child("Salvar Nomes")
.child("Treino")
.child(idUsuario)
.push()
.setValue(this);
}
}
Activity que direciona as informações:
public class PagTreino extends AppCompatActivity {
private Treination treinoSelecionado;
private TextView titulo_t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pag_treino);
titulo_t = findViewById(R.id.titulo_t);
Bundle bundle = getIntent().getExtras();
if (bundle != null){
treinoSelecionado = (Treination) bundle.getSerializable("treinoSelecionado");
titulo_t.setText(treinoSelecionado.getTexto());
}
}
}
AdapterActivity redirecionada:
ublic class AdapterSegAlimentacao extends RecyclerView.Adapter<AdapterSegAlimentacao.MyViewHolder> {
private List<SegAlimentations> segundas;
public AdapterSegAlimentacao(List<SegAlimentations> segundas, PagAlimentation pagAlimentation) {
this.segundas = segundas;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemLista = LayoutInflater.from(parent.getContext())
.inflate(R.layout.segundaaliment, parent, false);
return new AdapterSegAlimentacao.MyViewHolder(itemLista);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
SegAlimentations segAlimentations = segundas.get(position);
holder.segund.setImageResource(R.drawable.segunda);
holder.close.setImageResource(R.drawable.ic_close);
holder.nomeTreino.setText(segAlimentations.getNome());
holder.historico.setText(segAlimentations.getHistorico());
holder.observ.setText(segAlimentations.getObservacoes());
}
@Override
public int getItemCount() {
return segundas.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
private ImageView segund;
private TextView nomeTreino;
private TextView historico;
private TextView observ;
private ImageView close;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
segund = itemView.findViewById(R.id.icm);
nomeTreino = itemView.findViewById(R.id.texticm_m);
historico = itemView.findViewById(R.id.pesagem);
observ = itemView.findViewById(R.id.peso_p);
close = itemView.findViewById(R.id.close);
}
}
}
Model:
public class SegAlimentations implements Serializable {
private String nome;
private String historico;
private String observacoes;
public SegAlimentations() {
}
public SegAlimentations(String nome, String historico, String observacoes) {
this.nome = nome;
this.historico = historico;
this.observacoes = observacoes;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getHistorico() {
return historico;
}
public void setHistorico(String historico) {
this.historico = historico;
}
public String getObservacoes() {
return observacoes;
}
public void setObservacoes(String observacoes) {
this.observacoes = observacoes;
}
public void segundaSalvar() {
FirebaseAuth autenticacao = ConfiguracaoFirebase.getFirebaseAutenticacao();
String idUsuario = Base64Custom.codificarBase64(autenticacao.getCurrentUser().getEmail());
DatabaseReference firebase = ConfiguracaoFirebase.getFirebaseDatabase();
firebase.child("Semanas Alimentacao")
.child("Dias Semanas")
.child(idUsuario)
.push()
.setValue(this);
}
}