2017-08-26 7 views
0

私が持ってクリック最初のリストビューにあるEDITTEXTに名前のテキストを設定してから対応する名前を変更することも可能である。この更新データが

enter image description here

などのデータベースボタンをクリックすると、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-更新リストビュー/の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データベース参照を取得し、datasnapshotを取得します。 2ハッシュマップを使用してスナップショットを解析します。 3ハッシュマップを使ってデータを表示します。 4-その値への参照を取得して値を更新します。 –

+0

おかげでAditya – Ankit