2017-06-22 5 views
-2

この質問は何度も尋ねられますが、私はそれを取り巻くことができず、火災基地から2番目の活動にデータを取り込みたいと思います。それは単純な編集テキストですので、人が記入してテキストをクリックするとテキストがfirebaseに保存され、リストビューにはfirebaseデータが格納されます ありがとう、私は主な活動にリストビューを入れたくありませんが、リストビューのみを含む2番目のアクティビティここでリストビューをfirebaseから2番目の活動に入れよう

public class MainActivity extends AppCompatActivity { 
    EditText ed; 
     Button b,b2; 
     ArrayList<String>aded; 
     String save,pus; 
     // Write a message to the database 
     FirebaseDatabase database ; 
     DatabaseReference myRef ; 
     DatabaseReference ref; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      ed=(EditText)findViewById(R.id.ed1); 
      b=(Button)findViewById(R.id.b1); 
      b2=(Button)findViewById(R.id.b2); 
      database = FirebaseDatabase.getInstance(); 
      myRef = database.getReference("message"); 
      ref=database.getReference("Oslan"); 



    b2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      save= ed.getText().toString(); 
      if(!TextUtils.isEmpty(save)) { 
       pus = ref.push().getKey(); 
       ref.child(pus).setValue(save); 
       //myRef.setValue(save); 
      }else{ 
       Toast.makeText(getApplicationContext(),"put name",Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 
      // databaseArtist=FirebaseDatabase.getInstance().getReference("artist"); 

      aded=new ArrayList<>(); 
    b.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      save= ed.getText().toString(); 
      aded.add(save); 
      if(!TextUtils.isEmpty(save)) { 
       pus = myRef.push().getKey(); 
       myRef.child(pus).setValue(save); 
       //myRef.setValue(save); 
       }else{ 
       Toast.makeText(getApplicationContext(),"put name",Toast.LENGTH_LONG).show(); 
      } 
      Intent i=new Intent(getApplicationContext(),Listview.class); 
      i.putStringArrayListExtra("n",aded); 
      startActivity(i); 
     } 
    }); 
     } 


    } 




    public class Listview extends AppCompatActivity { 
    ListView listi; 
     ArrayList<String>items; 
    ArrayAdapter<String>adapt; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_listview); 
      listi=(ListView)findViewById(R.id.l1); 
      items=new ArrayList<>(); 
      Intent gett=getIntent(); 
      items=gett.getStringArrayListExtra("n"); 
      adapt=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items); 
      listi.setAdapter(adapt); 
     } 


    } 

やリストアクティビティコードが助け

public class Listview extends AppCompatActivity { 
    ListView listi; 
     ArrayList<String>items; 
    ArrayAdapter<String>adapt; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_listview); 
      listi=(ListView)findViewById(R.id.l1); 
      items=new ArrayList<>(); 
      Intent gett=getIntent(); 
      items=gett.getStringArrayListExtra("n"); 
      adapt=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items); 
      listi.setAdapter(adapt); 
     } 


    } 
+0

これまでやっていること/試したことは? –

+0

私のコードを追加しました – SeekingKnowleges

答えて

0

に感謝を下回っているあなたは、両方のあなたの活動におけるデータベース・ノードへの参照を取得することができ、私のコードです。両方のあなたの活動にこれを追加します。

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("name_of_child"); 

次に、あなたの最初の活動に:あなたの第二の活動で

databaseReference.setValue(editText.getText().toString()); 

を:

String name; 

databaseReference.addValueEventListener(new ValueEventListener) 
    { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
     //get value from snapshot 
     name = dataSnapshot.getValue(String.class); 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     //Log the error 
    } 

}

+0

ありがとうございますkrishnaしかし、私はクラスを持っていない単純な編集テキスト私はそれを行う方法がわからない、私のコードを参照してください私はあなたに感謝を追加 – SeekingKnowleges

+1

私はあなたが "私はクラスを持っていない " –

+0

私はクラスのユーザーの名前を格納するユーザーのクラスのようなクラスを持っていない、私が持っている2つのアクティビティと2つのレイアウトは、テキストをクリックしてボタンをクリックすると、ボタンはセコン活動のリストビューに編集テキスト値を追加し、firebaseに追加しますが、必要なのは、人々がクリックするとデータが簡単なパーツであるfirebaseに保存されます2番目のアクティビティでfireviewのデータがリストビューに表示されます – SeekingKnowleges

-1
public void onDataChange(DataSnapshot dataSnapshot) { 
    for(DataSnapshot dt:dataSnapshot.getChildren()){ 
     name = dt.getValue(String.class); 
     items.add(name); 
    } adapt=new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_list_item_1,items); 
    listi.setAdapter(adapt); 
} 

はあなたにKrishanに感謝私の質問に答えましたあなたと私はstruglingしていた

+0

こんにちは、ここで、あなたが答えを知っているなら、私は感謝します https://stackoverflow.com/questions/44700447/when-click-on-listview-delete-it-and-delet-associated-data-with-it-in-firebase – SeekingKnowleges

関連する問題