J'ai un problème lors de la validation d'Edittext dans listview dans onFocusChangeListner.Comment faire pour valider dans EditText dans un ListView?
Mon interface utilisateur ressemble à ceci
MeterName Previous CurrentReading
Meter1 100 Here i want to type current reading
Lorsque je tape la lecture actuelle, il comparera avec la lecture précédente. La lecture en cours ne peut pas être inférieure à Précédent. Si c'est moins que le précédent, je veux alerter l'utilisateur et le focus est sur le même EditBox.
Mon code est ici:
public void onFocusChange(View v, boolean hasFocus) {
try {
Previous_Reading = getArray_Meter_Reading.getJSONObject(holder.ref)
.getString("PrevMeterReading").toString();
Cumulative = getArray_Meter_Reading
.getJSONObject(holder.ref).getString("Cumulative")
.toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(!hasFocus){
int Current=Integer.valueOf(holder.adp_Current.getText().toString());
Previous=Integer.parseInt(Previous_Reading);
if(Current< Previous){
AlertDialog.Builder builder = new AlertDialog.Builder(
context);
builder.setTitle("WARNING");
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage("Please Enter UserName");
builder.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// Caption.requestFocus();
}
});
AlertDialog diag = builder.create();
diag.show();
}
}
} });
Avec ce code, quand je commence à taper alerte EditBox est affiché pour tous les personnages, ce que je tape comme si précédent est 600 et je tape la lecture en cours comme 6 il me montre alertdialog puis 5 encore alertdialog jusqu'à ce qu'il soit supérieur à la valeur précédente.
Lorsque je clique sur EditText hasFocus est vrai et quand je tape n'importe quel nombre, disons 5 focus change à false. Est-ce que quelqu'un peut me dire comment faire la validation pour cela en donnant un exemple de code?
comment peut obtenir un texte de trou de editbox à la fois, puis valider wit valeur précédente parce que, quand je tape tout seul numéro onfocuschangeListner obtenir appel et un message d'erreur vous invite à entrer tous les numéros jusqu'à ce qu'il soit plus que le précédent. –