2017-12-30 28 views
0

Ich versuche, Daten von ListView von LongPress zu aktualisieren. Alles funktioniert gut. Aber in diesem Teil gibt es wenig Ärger.Child Update von lisview in Firebase

private boolean UpdateB(String id , String tp){ 

     databaseBazars = FirebaseDatabase.getInstance().getReference("BazarList").child(id); 
     Bazar bz= new Bazar(id,tp); // this line showing error. 
     databaseBazars.setValue(bz); 
     return true; 
    } 

ist die auf lange drücken Alarm Dialogfenster Code:

private void showupdatedialog(final String bid, final String cost, String da) { 

     AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); 
     LayoutInflater inflater = getLayoutInflater(); 
     final View dialogview = inflater.inflate(R.layout.updatedialogue, null); 
     dialogBuilder.setView(dialogview); 

     final EditText editText = (EditText) dialogview.findViewById(R.id.updatecost); 
     final Button buttonUpdate = (Button) findViewById(R.id.btnupdate); 
     dialogBuilder.setTitle("Udating Cost of Date " + da); 
     final AlertDialog alertDialog = dialogBuilder.create(); 
     alertDialog.show(); 

     buttonUpdate.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String et = editText.getText().toString().trim(); 

       if (TextUtils.isEmpty(et)) { 
        editText.setError("Data Required"); 
        return; 
       } 
       UpdateB(bid,et);  

      } 
     }); 
    } 

und es gibt die onlongpress listner Code:

listViewBazars.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { 
      Bazar bazar = bazarList.get(i); 

      showupdatedialog(bazar.getBid(),bazar.getCost(),bazar.getDate()); 
      return false; 
     } 
    }); 

jeder kann sagen, was ich auf UpdateB Teil falsch gemacht haben ?? Oder besser, Sie schlagen mir einen Weg vor, wie Sie ein einzelnes Kind aktualisieren können. Danke

Datenbank Bild enter image description here und ich möchte nur die Kosten Teil zu aktualisieren.

+1

Wir werden Ihnen nicht helfen, wenn Sie uns Ihre Ausnahme StackTrace nicht zeigen. Könnten Sie es zu Ihrer Frage hinzufügen? –

+0

können Sie mir nur eine Methode zeigen, wie Sie bestimmte Kinder von listview in Firebase aktualisieren? – Meeyan

+0

Entschuldigung? Du fragst uns, was mit deiner Methode falsch ist, sagst, dass du irgendeine Art von Fehler bekommst und nicht sagst, was für ein Fehler das ist. Können Sie zuerst Ihre Stack-Trace hinzufügen, dann wird es viel einfacher sein, eine perfekte Lösung für Sie zu finden? –

Antwort

0

zu aktualisieren dies zu tun:

private boolean UpdateB(String id , String tp){ 
    databaseBazars = FirebaseDatabase.getInstance().getReference("BazarList").child(id); 
    databaseBazars.child("your_child_name_here").setValue(bz); 
    databaseBazars.child("your_child_name_here1").setValue(ids); 
    return true; 
} 

Die oben getan wird, wenn Ihre Datenbank ist wie folgt:

BazarList 
    id 
     your_child_name_here: somewords 
     your_chil_name_here1: somewords 

dies wird auf ihrem eigenen aktualisiert werden, jedes Kind tun.

+0

überprüfen Sie bitte die bearbeitete Version. ich möchte nur das Kostenkind aktualisieren. – Meeyan

+0

seine Arbeit für mich. aber ich habe gerade einen dummen Fehler gemacht, dass ich die letzten 30 Tage Daten verloren habe. Ich benutze eine kostenlose Version von Firebase. Vielen Dank. Ich wünschte, ich könnte die Lösung vor ein paar Minuten sehen. Vielleicht kann ich die Daten speichern. trotzdem danke Mann. :) :) – Meeyan