2

I have a user node with information such as name, age, etc. I also have a job node with info about a job posted by a user. I want to get the user's name and location and add it to the job node. I looked up similar questions and I have tried it but my app crashes and I'm not sure why.

This is my Job node. I apologize for the random entries.

enter image description here

This is my Users node. I want the city and name value of the current user in the jobs node.

enter image description here

This is what my code looks like:

package com.example.oddsynew;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class PostAds2 extends AppCompatActivity {
    Button submitBtnPost;
    EditText startdate, starttime, enddate, endtime, addpref;
    String gigTitle, gigComp, gigDesc, gigTasks, gigStartDate, gigStartTime, gigEndDate, gigEndTime, addPref, userID, fName;
    DatabaseReference myRef;
    FirebaseUser u;
    FirebaseAuth mAuth;
    Job job;
    Users user;
    int i;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_post_ads2);

        myRef = FirebaseDatabase.getInstance().getReference().child("Jobs");

        startdate = (EditText) findViewById(R.id.startDate_post);
        enddate = (EditText) findViewById(R.id.endDate_post);
        starttime = (EditText) findViewById(R.id.startTime_post);
        endtime = (EditText) findViewById(R.id.endTime_post);

        addpref = (EditText) findViewById(R.id.additionalPref_post);

        submitBtnPost = (Button) findViewById(R.id.submitBtn_post);

        mAuth = FirebaseAuth.getInstance();
        u = mAuth.getCurrentUser();
        userID = u.getUid();

        job = new Job();

        submitBtnPost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                gigTitle = getIntent().getStringExtra("gigTitle");
                gigComp = getIntent().getStringExtra("gigComp");
                gigDesc = getIntent().getStringExtra("gigDesc");
                gigTasks = getIntent().getStringExtra("gigTasks");

                fName = user.getFname();

                gigStartDate = startdate.getText().toString().trim();
                gigEndDate = enddate.getText().toString().trim();
                gigStartTime = starttime.getText().toString().trim();
                gigEndTime = endtime.getText().toString().trim();
                addPref = addpref.getText().toString().trim();
                i = 004; i++;

                job.setJobID(Integer.toString(i));
                job.setJob_name(gigTitle);
                job.setJob_charge(gigComp);
                job.setJob_desc(gigDesc);
                job.setJob_tasks(gigTasks);

                job.setStart_date(gigStartDate);
                job.setEnd_date(gigEndDate);
                job.setStart_time(gigStartTime);
                job.setEnd_time(gigEndTime);
                job.setAdd_pref(addPref);
                job.setLocation(user.getCity());

                if(u != null){ //This is where I'm trying to add city and name value. Is this right?
                    job.setRecruiter_name(user.getFname() + " " + user.getLname());
                    job.setLocation(user.getCity());
                }



                //Check is fields are empty
                if (gigStartDate.matches("") || gigEndDate.matches("") || gigStartTime.matches("") || gigEndTime.matches("") || addPref.matches("")) {
                    Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                } else if (gigStartDate.matches("") && gigEndDate.matches("") && gigStartTime.matches("") && gigEndTime.matches("") && addPref.matches("")) {
                    Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                }else{
                    myRef.push().setValue(job);
                    Toast.makeText(PostAds2.this, "Data Inserted", Toast.LENGTH_LONG).show();
                }


            }
        });
    }
}

This is all I get in my error report:

04-13 14:12:03.977 11009-11009/com.example.oddsynew E/HAL: load: id=gralloc != hmi->id=gralloc
04-13 14:12:04.075 11009-11037/com.example.oddsynew E/HAL: load: id=gralloc != hmi->id=gralloc
04-13 14:12:04.080 11009-11037/com.example.oddsynew E/HAL: load: id=gralloc != hmi->id=gralloc

UPDATE: I have changed my code to include hash maps but it still doesn't get added. Am I using the maps function right?

package com.example.oddsynew;

import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;

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 java.text.DateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

public class PostAds2 extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
    Button submitBtnPost, chooseDateBtn, chooseDateBtn2;
    EditText starttime, enddate, endtime, addpref;
    TextView startdate;
    String gigTitle, gigComp, gigDesc, gigTasks, gigStartDate, gigStartTime, gigEndDate, gigEndTime, addPref, userID, fName, startDateString, endDateString,  recruiterName, recruiterCity;
    DatabaseReference myRef;
    FirebaseUser u;
    FirebaseAuth mAuth;
    Job job;
    Users user;
    int i, DATE_DIALOG = 0;
    Map<String, Object> updates;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_post_ads2);

        myRef = FirebaseDatabase.getInstance().getReference().child("Jobs");
        updates = new HashMap<String,Object>();

        startdate = (TextView) findViewById(R.id.startDate_post);
        enddate = (EditText) findViewById(R.id.endDate_post);
        starttime = (EditText) findViewById(R.id.startTime_post);
        endtime = (EditText) findViewById(R.id.endTime_post);

        addpref = (EditText) findViewById(R.id.additionalPref_post);

        submitBtnPost = (Button) findViewById(R.id.submitBtn_post);
        chooseDateBtn = (Button) findViewById(R.id.chooseDateBtn);
        chooseDateBtn2 = (Button) findViewById(R.id.chooseDateBtn2);

        mAuth = FirebaseAuth.getInstance();
        u = mAuth.getCurrentUser();
        userID = u.getUid();

        job = new Job();

        chooseDateBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DATE_DIALOG = 1;
                openDialog();
            }
        });

        chooseDateBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DATE_DIALOG = 2;
                openDialog();
            }
        });

        submitBtnPost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                gigTitle = getIntent().getStringExtra("gigTitle");
                gigComp = getIntent().getStringExtra("gigComp");
                gigDesc = getIntent().getStringExtra("gigDesc");
                gigTasks = getIntent().getStringExtra("gigTasks");

                recruiterName = user.getFname() + user.getLname();
                recruiterCity = user.getCity();


                gigStartDate = startdate.getText().toString().trim();
                gigEndDate = enddate.getText().toString().trim();
                gigStartTime = starttime.getText().toString().trim();
                gigEndTime = endtime.getText().toString().trim();
                addPref = addpref.getText().toString().trim();
                i = 004;
                i++;

                job.setJobID(Integer.toString(i));
                job.setJob_name(gigTitle);
                job.setJob_charge(gigComp);
                job.setJob_desc(gigDesc);
                job.setJob_tasks(gigTasks);

                job.setStart_date(gigStartDate);
                job.setEnd_date(gigEndDate);
                job.setStart_time(gigStartTime);
                job.setEnd_time(gigEndTime);
                job.setAdd_pref(addPref);
                job.setLocation(user.getCity());

                updates.put("recruiterName", recruiterName);
                updates.put("city", recruiterCity);

                myRef.updateChildren(updates);

                /*if(u != null){
                    job.setRecruiter_name(user.getFname() + " " + user.getLname());
                    job.setLocation(user.getCity());
                }*/


                //Check is fields are empty
                if (gigStartDate.matches("") || gigEndDate.matches("") || gigStartTime.matches("") || gigEndTime.matches("") || addPref.matches("")) {
                    Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                } else if (gigStartDate.matches("") && gigEndDate.matches("") && gigStartTime.matches("") && gigEndTime.matches("") && addPref.matches("")) {
                    Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                } else {
                    myRef.push().setValue(job);
                    Toast.makeText(PostAds2.this, "Data Inserted", Toast.LENGTH_LONG).show();
                }


            }
        });
    }

    @Override
    public void onDateSet(android.widget.DatePicker view, int year, int month, int dayOfMonth) {
        Calendar c = Calendar.getInstance();
        if(DATE_DIALOG == 1){
            c.set(Calendar.YEAR, year);
            c.set(Calendar.MONTH, month);
            c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            startDateString = DateFormat.getDateInstance(DateFormat.MONTH_FIELD).format(c.getTime());
            startdate.setText(startDateString);
        }
        else if(DATE_DIALOG == 2){
            c.set(Calendar.YEAR, year);
            c.set(Calendar.MONTH, month);
            c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            endDateString = DateFormat.getDateInstance(DateFormat.MONTH_FIELD).format(c.getTime());
            enddate.setText(endDateString);
        }
    }

    public void openDialog() {
        DialogFragment datePicker = new DatePicker();
        datePicker.show(getSupportFragmentManager(), "date picker");
    }

}

Job.java

package com.example.oddsynew;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

public class Job {
    String job_name, recruiter_name, location, job_charge, add_pref, start_date, end_date, start_time, end_time, job_desc, prof_pic, job_tasks, jobID;


    public Job() {
    }

    public Job(String job_name, String recruiter_name, String location, String job_charge, String add_pref, String start_date,
               String end_date, String start_time, String end_time, String job_desc, String prof_pic, String job_tasks, String jobID) {
        this.job_name = job_name;
        this.recruiter_name = recruiter_name;
        this.location = location;
        this.job_charge = job_charge;
        this.add_pref = add_pref;
        this.start_date = start_date;
        this.end_date = end_date;
        this.start_time = start_time;
        this.end_time = end_time;
        this.job_desc = job_desc;
        this.prof_pic = prof_pic;
        this.job_tasks = job_tasks;
        this.jobID = jobID;
    }

    public String getJobID() {
        return jobID;
    }

    public void setJobID(String jobID) {
        this.jobID = jobID;
    }

    public Job(String prof_pic) {
        this.prof_pic = prof_pic;
    }

    public String getJob_name() {
        return job_name;
    }

    public void setJob_name(String job_name) {
        this.job_name = job_name;
    }

    public String getRecruiter_name() {
        return recruiter_name;
    }

    public void setRecruiter_name(String recruiter_name) {
        this.recruiter_name = recruiter_name;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getJob_charge() {
        return job_charge;
    }

    public void setJob_charge(String job_charge) {
        this.job_charge = job_charge;
    }

    public String getProf_pic() {
        return prof_pic;
    }

    public void setProf_pic(String prof_pic) {
        this.prof_pic = prof_pic;
    }

    public String getAdd_pref() {
        return add_pref;
    }

    public void setAdd_pref(String add_pref) {
        this.add_pref = add_pref;
    }

    public String getStart_time() {
        return start_time;
    }

    public void setStart_time(String start_time) {
        this.start_time = start_time;
    }

    public String getEnd_time() {
        return end_time;
    }

    public String getStart_date() {
        return start_date;
    }

    public void setStart_date(String start_date) {
        this.start_date = start_date;
    }

    public String getEnd_date() {
        return end_date;
    }

    public void setEnd_date(String end_date) {
        this.end_date = end_date;
    }

    public void setEnd_time(String end_time) {
        this.end_time = end_time;
    }

    public String getJob_desc() {
        return job_desc;
    }

    public void setJob_desc(String job_desc) {
        this.job_desc = job_desc;
    }

    public String getJob_tasks() {
        return job_tasks;
    }

    public void setJob_tasks(String job_tasks) {
        this.job_tasks = job_tasks;
    }


    public static class Home2 extends Fragment {
        @Nullable
        @Override

        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            return inflater.inflate(R.layout.activity_home, container, false);
        }
    }
}

Users.java

package com.example.oddsynew;

public class Users {
    String fname, lname, email, pass, state, city, age, job_name, recruiter_name, job_location, job_charge,
            profile_pic, add_pref, start_date, end_date, start_time, end_time, job_desc, job_tasks, jobID;


    public Users() {
    }

    public String getJobID() {
        return jobID;
    }

    public void setJobID(String jobID) {
        this.jobID = jobID;
    }

    public String getAdd_pref() {
        return add_pref;
    }

    public void setAdd_pref(String add_pref) {
        this.add_pref = add_pref;
    }

    public String getStart_date() {
        return start_date;
    }

    public void setStart_date(String start_date) {
        this.start_date = start_date;
    }

    public String getEnd_date() {
        return end_date;
    }

    public void setEnd_date(String end_date) {
        this.end_date = end_date;
    }

    public String getStart_time() {
        return start_time;
    }

    public void setStart_time(String start_time) {
        this.start_time = start_time;
    }

    public String getEnd_time() {
        return end_time;
    }

    public void setEnd_time(String end_time) {
        this.end_time = end_time;
    }

    public String getJob_desc() {
        return job_desc;
    }

    public void setJob_desc(String job_desc) {
        this.job_desc = job_desc;
    }

    public String getJob_tasks() {
        return job_tasks;
    }

    public void setJob_tasks(String job_tasks) {
        this.job_tasks = job_tasks;
    }

    public String getProfile_pic() {
        return profile_pic;
    }

    public void setProfile_pic(String profile_pic) {
        this.profile_pic = profile_pic;
    }

    public String getRecruiter_name() {
        return recruiter_name;
    }

    public void setRecruiter_name(String recruiter_name) {
        this.recruiter_name = recruiter_name;
    }

    public String getJob_location() {
        return job_location;
    }

    public void setJob_location(String job_location) {
        this.job_location = job_location;
    }

    public String getJob_charge() {
        return job_charge;
    }

    public void setJob_charge(String job_charge) {
        this.job_charge = job_charge;
    }

    public String getFname() {
        return fname;
    }

    public String getLname() {
        return lname;
    }

    public String getEmail() {
        return email;
    }

    public String getPass() {
        return pass;
    }

    public void setFname(String fname) {
        this.fname = fname;
    }

    public void setLname(String lname) {
        this.lname = lname;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getJob_name() {
        return job_name;
    }

    public void setJob_name(String job_name) {
        this.job_name = job_name;
    }
}
Devika Sujith
  • 111
  • 13
  • What do you mean through "set it to another node?"? – Alex Mamo Apr 13 '20 at 10:39
  • @AlexMamo I have two nodes. Users and Jobs. I'd like to get some information from my Users node and set it to my Jobs node. Like I said, I want city and name value from Users and enter it to Jobs node. – Devika Sujith Apr 13 '20 at 11:37
  • "city and name value" of which user? I see there is more than one. And you want to "ender" in which job? There is only one job in `Jobs` node? – Alex Mamo Apr 13 '20 at 11:41
  • @AlexMamo Of the current user. I've mentioned it in the post. Yes there are multiple jobs. The user can "post" jobs through the app. They input info such as job name, date and time. When they post, the app must get their personal details from the Users node like name and city and input those values in the Job node. – Devika Sujith Apr 13 '20 at 12:00
  • I understand now. I'll write you an answer right away. – Alex Mamo Apr 13 '20 at 12:04

1 Answers1

1

Using on-click listeners worked for me. Here is the modified code:

package com.example.oddsynew;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class PostAds2 extends AppCompatActivity implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {
    Button submitBtnPost, chooseDateBtn, chooseDateBtn2, chooseTimeBtn, chooseTimeBtn2;
    EditText starttime, enddate, endtime, addpref;
    TextView startdate;
    String gigTitle, gigComp, gigDesc, gigTasks, gigStartDate, gigStartTime, gigEndDate, gigEndTime, addPref, userID, startDateString, endDateString, recruiterName, recruiterCity;
    DatabaseReference jobsRef, usersRef;
    FirebaseUser u;
    FirebaseAuth mAuth;
    Job job;
    List<String> jobList;
    Users user;
    int i, DATE_DIALOG = 0, TIME_DIALOG = 0;
    Map<String, Object> updates;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_post_ads2);

        mAuth = FirebaseAuth.getInstance();
        u = mAuth.getCurrentUser();
        userID = u.getUid();
        jobList = new ArrayList<String>();

        jobsRef = FirebaseDatabase.getInstance().getReference().child("Jobs");
        usersRef = FirebaseDatabase.getInstance().getReference().child("Users").child(userID);
        updates = new HashMap<String, Object>();

        startdate = (TextView) findViewById(R.id.startDate_post);
        enddate = (EditText) findViewById(R.id.endDate_post);
        starttime = (EditText) findViewById(R.id.startTime_post);
        endtime = (EditText) findViewById(R.id.endTime_post);

        addpref = (EditText) findViewById(R.id.additionalPref_post);

        submitBtnPost = (Button) findViewById(R.id.submitBtn_post);
        chooseDateBtn = (Button) findViewById(R.id.chooseDateBtn);
        chooseDateBtn2 = (Button) findViewById(R.id.chooseDateBtn2);
        chooseTimeBtn = (Button) findViewById(R.id.chooseTimeBtn);
        chooseTimeBtn2 = (Button) findViewById(R.id.chooseTimeBtn2);

        job = new Job();

        chooseDateBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DATE_DIALOG = 1;
                openDateDialog();
            }
        });

        chooseDateBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DATE_DIALOG = 2;
                openDateDialog();
            }
        });

        chooseTimeBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TIME_DIALOG = 1;
                openTimeDialog();
            }
        });

        chooseTimeBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TIME_DIALOG = 2;
                openTimeDialog();
            }
        });


        submitBtnPost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                gigTitle = getIntent().getStringExtra("gigTitle");
                gigComp = getIntent().getStringExtra("gigComp");
                gigDesc = getIntent().getStringExtra("gigDesc");
                gigTasks = getIntent().getStringExtra("gigTasks");
                //recruiterName = user.getFname() + user.getLname();
                //recruiterCity = user.getCity();


                gigStartDate = startdate.getText().toString().trim();
                gigEndDate = enddate.getText().toString().trim();
                gigStartTime = starttime.getText().toString().trim();
                gigEndTime = endtime.getText().toString().trim();
                addPref = addpref.getText().toString().trim();
                i = 004;
                i++;

                usersRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        if (dataSnapshot.getValue() != null) {
                            recruiterCity = (String) dataSnapshot.child("city").getValue();
                            recruiterName = dataSnapshot.child("fname").getValue() + " " + dataSnapshot.child("lname").getValue();

                            job.setJobID(Integer.toString(i));
                            job.setJob_name(gigTitle);
                            job.setJob_charge(gigComp);
                            job.setJob_desc(gigDesc);
                            job.setJob_tasks(gigTasks);

                            job.setStart_date(gigStartDate);
                            job.setEnd_date(gigEndDate);
                            job.setStart_time(gigStartTime);
                            job.setEnd_time(gigEndTime);
                            job.setAdd_pref(addPref);
                            Log.e("TAG", "" + recruiterCity);
                            job.setLocation(recruiterCity);
                            job.setRecruiter_name(recruiterName);
                            Log.e("TAG", "" + recruiterName);

                            //Check is fields are empty
                            if (gigStartDate.matches("") || gigEndDate.matches("") || gigStartTime.matches("") || gigEndTime.matches("") || addPref.matches("")) {
                                Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                            } else if (gigStartDate.matches("") && gigEndDate.matches("") && gigStartTime.matches("") && gigEndTime.matches("") && addPref.matches("")) {
                                Toast.makeText(PostAds2.this, "Please fill all fields", Toast.LENGTH_LONG).show();
                            } else {
                                jobsRef.push().setValue(job);
                                Toast.makeText(PostAds2.this, "Data Inserted", Toast.LENGTH_LONG).show();
                                Intent intent = new Intent(PostAds2.this, Home.class);
                                startActivity(intent);
                            }
                        } else {
                            Log.e("TAG", " it's null.");
                        }
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
                        Log.e("onCancelled", " cancelled");
                    }
                });


            }
        });
    }

    @Override
    public void onDateSet(android.widget.DatePicker view, int year, int month, int dayOfMonth) {
        Calendar c = Calendar.getInstance();
        if (DATE_DIALOG == 1) {
            c.set(Calendar.YEAR, year);
            c.set(Calendar.MONTH, month);
            c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            startDateString = DateFormat.getDateInstance(DateFormat.MONTH_FIELD).format(c.getTime());
            startdate.setText(startDateString);
        } else if (DATE_DIALOG == 2) {
            c.set(Calendar.YEAR, year);
            c.set(Calendar.MONTH, month);
            c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            endDateString = DateFormat.getDateInstance(DateFormat.MONTH_FIELD).format(c.getTime());
            enddate.setText(endDateString);
        }
    }

    public void openDateDialog() {
        DialogFragment datePicker = new DatePicker();
        datePicker.show(getSupportFragmentManager(), "date picker");
    }

    public void openTimeDialog() {
        DialogFragment timePicker = new TimePicker();
        timePicker.show(getSupportFragmentManager(), "time picker");
    }

    @Override
    public void onTimeSet(android.widget.TimePicker view, int hourOfDay, int minute) {
        if (TIME_DIALOG == 1) {
            if (hourOfDay < 12 && hourOfDay >= 0) {
                if (hourOfDay == 0) {
                    hourOfDay = 12;
                }
                starttime.setText(hourOfDay + ":" + minute + " AM");
            } else {
                hourOfDay -= 12;
                if (hourOfDay == 0) {
                    hourOfDay = 12;
                }
                starttime.setText(hourOfDay + ":" + minute + " PM");
            }
        } else if (TIME_DIALOG == 2) {
            if (hourOfDay < 12 && hourOfDay >= 0) {
                if (hourOfDay == 0) {
                    hourOfDay = 12;
                }
                endtime.setText(hourOfDay + ":" + minute + " AM");
            } else {
                hourOfDay -= 12;
                if (hourOfDay == 0) {
                    hourOfDay = 12;
                }
                endtime.setText(hourOfDay + ":" + minute + " PM");
            }
        }

    }
}
Devika Sujith
  • 111
  • 13