Я пытаюсь вставить новый дочерний элемент с именем «Applied Jobs» в мой узел Users в Firebase следующим образом:
Однако я хочу этот ребенок будет добавлен ПОСЛЕ нажатия кнопки на экране под названием «Запрос на найм». Я попробовал следующий код, глядя на другие подобные вопросы, но безрезультатно. Я был бы признателен, если бы кто-то помог мне с этим. Также отметим, что мне нужно, чтобы дочерний элемент был добавлен к текущему пользователю, вошедшему в систему.
Пока это мой код:
JobInfo. java
package com.example.oddsynew;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.squareup.picasso.Picasso;
public class JobInfo extends AppCompatActivity {
TextView jobName, jobCharge, jobLocation, jobDate, jobTime, jobDesc, jobTasks, addPref, recruiterName;
ImageView profPic;
String jobname, jobloc, jobcharge, profpic, startdate, enddate, starttime, endtime, jobdesc, jobtasks, addpref, recruitername, userID;
ImageButton menuIcon;
DrawerLayout drawer;
Button requestForHireBtn;
DatabaseReference myRef;
FirebaseAuth mAuth;
FirebaseUser u;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_job_info);
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
menuIcon = (ImageButton) findViewById(R.id.menuIcon);
requestForHireBtn = (Button) findViewById(R.id.requestForHireBtn);
menuIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawer.openDrawer(GravityCompat.START);
}
});
jobName = (TextView) findViewById(R.id.jobName_info);
jobCharge = (TextView) findViewById(R.id.jobCharge_info);
jobLocation = (TextView) findViewById(R.id.jobLocation_info);
profPic = (ImageView) findViewById(R.id.prof_pic_info);
jobDate = (TextView) findViewById(R.id.jobDate_info);
jobTime = (TextView) findViewById(R.id.jobTime_info);
jobDesc = (TextView) findViewById(R.id.jobDesc);
jobTasks = (TextView) findViewById(R.id.jobTasks);
addPref = (TextView) findViewById(R.id.additionalPref);
recruiterName = (TextView) findViewById(R.id.recruiterName_info);
jobname = getIntent().getStringExtra("jobName");
jobloc = getIntent().getStringExtra("jobLocation");
jobcharge = getIntent().getStringExtra("jobCharge");
profpic = getIntent().getStringExtra("profPic");
startdate = getIntent().getStringExtra("startDate");
enddate = getIntent().getStringExtra("endDate");
starttime = getIntent().getStringExtra("startTime");
endtime = getIntent().getStringExtra("endTime");
jobdesc = getIntent().getStringExtra("jobDesc");
jobtasks = getIntent().getStringExtra("jobTasks");
addpref = getIntent().getStringExtra("addPref");
recruitername = getIntent().getStringExtra("recruiterName");
jobName.setText(jobname);
jobCharge.setText(jobcharge);
jobLocation.setText(jobloc);
jobDate.setText(startdate + " - " + enddate);
jobTime.setText(starttime + " - " + endtime);
jobDesc.setText(jobdesc);
jobTasks.setText(jobtasks);
addPref.setText(addpref);
recruiterName.setText(recruitername);
Picasso.get().load(profpic).into(profPic);
requestForHireBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
u = mAuth.getCurrentUser();
userID = u.getUid();
myRef = FirebaseDatabase.getInstance().getReference().child("Users").child("userID").child("Applied Jobs");
myRef.child("job_name").setValue(jobname);
}
});
}
}