Java 当我在firebase中插入数据时,数据将无限期提交,直到运行停止

Java 当我在firebase中插入数据时,数据将无限期提交,直到运行停止,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我是firebase的初学者,我试图将数据插入firebase,我遇到了一个问题,当我按下insert按钮时,相同的数据被提交了很多次,直到运行停止,它才停止插入 我正在使用push()函数,但我不知道代码中的问题在哪里 有人能帮我吗? 这是我的密码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R

我是firebase的初学者,我试图将数据插入firebase,我遇到了一个问题,当我按下insert按钮时,相同的数据被提交了很多次,直到运行停止,它才停止插入 我正在使用push()函数,但我不知道代码中的问题在哪里 有人能帮我吗? 这是我的密码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fill_request_page);
    Title = (EditText) findViewById(R.id.Title);
    Content = (EditText) findViewById(R.id.Content);
    insert =(Button) findViewById(R.id.insert);

    edittxtDate =(EditText) findViewById(R.id.edittxtDate);
    edittxtTime =(EditText) findViewById(R.id.edittxtTime);
    edittxtExpDate=(EditText) findViewById(R.id.edittxtExpDate);

    location = (Spinner) findViewById(R.id.location);
    typeof=(Spinner)findViewById(R.id.typeof);
    database = FirebaseDatabase.getInstance();
    ref1 = database.getReference("requests");



    imagebtnTime.setOnClickListener(this);
    storage = FirebaseStorage.getInstance();
    storageReference = storage.getReference();


private void getValues(){
    request1.setTitle(Title.getText().toString());
    request1.setContent(Content.getText().toString());
    request1.setDate(edittxtDate.getText().toString());
    request1.setTime(edittxtTime.getText().toString());
    request1.setLocation(location.getSelectedItem().toString());
    request1.setExpDate(edittxtExpDate.getText().toString());
    request1.setTypeof(typeof.getSelectedItem().toString());
}
public void btnInsert1(View view){

    ref1.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            DatabaseReference ref2=ref1.push();
            String id=ref2.getKey();

            request1 =new requests();
            getValues();

            ref1.child(id).setValue(request1);

            Toast.makeText(FillRequestPage.this,"Data inserted....",Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

请帮助我将数据发送到数据库时,无需使用
AddValueEventListener(..)
,只需执行以下操作:

database = FirebaseDatabase.getInstance();
ref1 = database.getReference("requests");
DatabaseReference ref2=ref1.push();
String id=ref2.getKey();
request1 =new requests();
ref1.child(id).setValue(request1);
//some code may be missing

AddValueEventListener(…)
用于从数据库检索数据。

我想说的是,问题是你在OnData中的插入发生了变化,每次插入发生时,数据都会发生变化并无限重新启动。这太好了,真为你高兴!!快乐编码!!