2017-08-26 42 views
0

我有數據庫這樣更新數據單擊

enter image description here

有可能先設置名稱的文本EDITTEXT這是在列表視圖,然後將名稱更改爲相應的位置項目和按鈕上單擊每個插入的值在Editfield中更新到數據庫到相關字段。

回答

1

1-下載:

FirebaseDatabase數據庫= FirebaseDatabase.getInstance();

DatabaseReference reference = database.getReference();

reference.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     try { 

//解析另一個線程中的數據快照。

 }catch (Exception e){ 






     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 






    } 
}); 

// =========================== 2-解析: HashMap中d =(HashMap中)dataSnapshot。的getValue(); HashMap users =((HashMap)d.get(「users」));

3-更新的ListView /或的EditText使用用戶(哈希映射)

4-更新:

String nameString= nameEditText.getText().toString(); 

FirebaseDatabase database = FirebaseDatabase.getInstance(); 

//得到爲需要更新的用戶數據庫參考。

DatabaseReference databaseReference = database.getReference().child("users").child(userId); 

Map<String, Object> taskMap = new HashMap<String, Object>(); 
     taskMap.put("name", nameString); 

     databaseReference.updateChildren(taskMap).addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       Log.d("", "task is: " + task); 
       if(task.isSuccessful()){ 
        Toast.makeText(getActivity(),"Commit is successfull", Toast.LENGTH_LONG).show(); 
       }else{ 

        Toast.makeText(getActivity(),"Commit is failed", Toast.LENGTH_LONG).show(); 

       } 

      } 
     }); 
     databaseReference.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

       Object value = dataSnapshot.getValue(); 
       Log.d("", "Value is: " + value); 
      } 

      @Override 
      public void onCancelled(DatabaseError error) { 
       // Failed to read value 
       Log.w(TAG, "Failed to save value.", error.toException()); 
      } 
     }); 
+0

我有EDITTEXT到ListView和我想首先第一個填充數據中的每個的EditText然後更改數據,以對應位置和提交按鈕,點擊它在的EditText字段中輸入更新到數據庫,並感謝所有數據回覆 – Ankit

+1

基本邏輯是 1-下載 獲取firebase數據庫引用並獲取數據快照。 2-使用散列表分析快照。 3-使用該散列圖顯示數據,你想要的方式。 4-通過獲取對該值的引用來更新值。 –

+0

感謝兄弟Aditya – Ankit