importation des donnees dans un viewHolder
Bonjour a tous, je suis debutant dans le developpement mobile android (android studio) et j'aimerais que vous m'aidez. Dans le cadre de ma formation je developpe une application de messagerie dans android mon probleme est le suivant: j'aimerais recuperer les reponses generees par un AlertDialog dans un viewHolder mais je n'y arrive pas merci et voici mon code.
mon code alertDialog
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
package com.example.appli_mess.Controle;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatDialogFragment;
import com.example.appli_mess.R;
public class alertDecryptage extends AppCompatDialogFragment {
RadioGroup radio;
LinearLayout esp_cesar, esp_vig;
EditText val_cesar, val_vig;
TextView mes_cesar, mes_vig;
// alertDecryptageListener listener;
int choix = 1;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.alert_decryptage, null);
builder.setView(view)
.setTitle(R.string.titre2)
.setNegativeButton(R.string.choix_negatif, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton(R.string.choix_positif, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(choix == 1 && !val_vig.getText().toString().trim().equals("")){
String type = "vigenere";
String valeur = val_vig.getText().toString();
// listener.applyTexts(type, valeur);
}
else if(choix == 2 && !val_vig.getText().toString().trim().equals("")){
String type = "cesar";
String valeur = val_vig.getText().toString();
//listener.applyTexts(type, valeur);
} else {
String type = "neant";
String valeur = "";
// listener.applyTexts(type, valeur);
}
}
});
radio = (RadioGroup) view.findViewById(R.id.list_choix_dechif);
esp_cesar = (LinearLayout) view.findViewById(R.id.esp_val_cesar1);
esp_vig = (LinearLayout) view.findViewById(R.id.esp_val_vig1);
val_cesar = (EditText) view.findViewById(R.id.valeur_cesar1);
val_vig = (EditText) view.findViewById(R.id.valeur_vigenere1);
mes_cesar = (TextView) view.findViewById(R.id.id_commentaire_cesar1);
mes_vig = (TextView) view.findViewById(R.id.id_commentaire_vigenere1);
radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.decrypt_vigenere){
esp_cesar.setVisibility(View.GONE);
esp_vig.setVisibility(View.VISIBLE);
mes_cesar.setVisibility(View.GONE);
mes_vig.setVisibility(View.VISIBLE);
choix = 1;
}
if (checkedId == R.id.decrypt_vigenere){
esp_cesar.setVisibility(View.VISIBLE);
esp_vig.setVisibility(View.GONE);
mes_cesar.setVisibility(View.VISIBLE);
mes_vig.setVisibility(View.GONE);
choix = 2;
}
}
});
return builder.create();
}
/*@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
listener = (alertDecryptageListener) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString()+" impossible de caster");
}
}*/
/*public interface alertDecryptageListener{
void applyTexts(String type, String valeur);
}*/
} |
mon code ViewHolder
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
public class ViewHolder extends RecyclerView.ViewHolder {
RelativeLayout globe, esp_btn;
ImageView image;
TextView mes, date;
Button btn_sup;
int pos1;
Context context;
public ViewHolder(@NonNull final View itemView, final Context context) {
super(itemView);
this.context = context;
globe = (RelativeLayout) itemView.findViewById(R.id.globe_message);
btn_sup = (Button) itemView.findViewById(R.id.btn_sup1);
image = (ImageView) itemView.findViewById(R.id.imageProfile);
mes = (TextView) itemView.findViewById(R.id.textMessage);
date = (TextView) itemView.findViewById(R.id.idDate);
btn_sup = (Button) itemView.findViewById(R.id.btn_sup1);
pos1 = pos;
globe.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("RestrictedApi")
@Override
public void onClick(View v) {
PopupMenu popu = new PopupMenu(globe.getContext(), itemView);
popu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.i_supprimer:
new requete_message().supprimer_message(new Access1(itemView.getContext())
, date.getText().toString()
, mes.getText().toString()
, mes1.getAdresse(), pos1, taille);
globe.setVisibility(View.GONE);
return true;
case R.id.i_supprimer_p:
Intent intent = new Intent(context, Esp_Mess.class);
intent.putExtra("signal", 1);
context.startActivity(intent);
for (final ViewHolder h : holder) {
h.btn_sup.setVisibility(View.VISIBLE);
h.btn_sup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new requete_message().supprimer_message(new Access1(itemView.getContext())
, h.date.getText().toString()
, h.mes.getText().toString()
, mes1.getAdresse(), h.pos1, taille);
taille--;
h.globe.setVisibility(View.GONE);
}
});
}
return TRUE;
case R.id.i_decrypter:
alertDecryptage decrypt = new alertDecryptage();
decrypt.show(((AppCompatActivity)context).getSupportFragmentManager(), "decryptage");
String i = alertDecryptage.type1;
String v = alertDecryptage.valeur1;
return true;
default:
return false;
}
}
});
popu.inflate(R.menu.menu_esp_mes);
// popu.setGravity(Gravity.RIGHT);
try {
Field mFieldPopup=popu.getClass().getDeclaredField("mPopup");
mFieldPopup.setAccessible(true);
MenuPopupHelper mPopup = (MenuPopupHelper) mFieldPopup.get(popu);
// mPopup.setForceShowIcon(true);
} catch (Exception e) {
}
popu.show();
}
});
}
} |
merci beaucoup