如何在2种不同的java丝中使用getter和setter方法

时间:2016-03-15 15:39:10

标签: java android object

我遇到了面向对象编程的问题。我有一个DatePicker,我在DateSettings.java中设置值,我试图获取主要活动中的数据。我使用eventButton只是为了测试我是否得到了数据。这里是gitHub文件: https://github.com/azatgoktas/nekadarkaldi

3 个答案:

答案 0 :(得分:1)

这里不需要不同的java文件。我想你不想从datepicker对象中获取日期。 首先创建一个DatepickeDialog然后设置监听器。您将在onDateSet()方法中获取日期。

private void showStartDatePicker() {
Calendar startDateCalendar = Calendar.getInstance();
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), startDatePickerListener, startDateCalendar
        .get(Calendar.YEAR), startDateCalendar.get(Calendar.MONTH),
        startDateCalendar.get(Calendar.DAY_OF_MONTH));
DatePicker datePicker = datePickerDialog.getDatePicker();
datePickerDialog.show();}

datepicker的监听器:

private final DatePickerDialog.OnDateSetListener startDatePickerListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
                      int dayOfMonth) {
    startDateCalendar.set(Calendar.YEAR, year);
    startDateCalendar.set(Calendar.MONTH, monthOfYear);
    startDateCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
    // your code here
}};

答案 1 :(得分:0)

Mate,有很多方法可以在不同的活动之间传输数据。你应该自己阅读它,但最常见的两种方法是通过IntentsSharedPreferences

在你提出更多问题之前再研究一下。

答案 2 :(得分:0)

有很多方法可以将事件对象传递给MainActivity。一种方法是,创建一个类如下

public class Example {
    // sharedInstance
    private static Example sharedInstance = new Example();

    // to store/ pass events
    ArrayList<Events> eventsArrayList = new ArrayList<>();

    // private constructor
    private Example() {
    }

    // get sharedInstance
    public static Example getSharedInstance() {
        return sharedInstance;
    }

    public void addToEvents(Events events) {
        eventsArrayList.add(events);
    }
}
创建事件对象Example.getSharedInstance().addToEvents(event);

后,在您的DateSettings中

然后在您的MainActivity中,您可以获得此事件对象

 eventButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        //JUST FOR TESTİNG
            event = Example.getSharedInstance().eventsArrayList.get(0);
            Toast.makeText(getApplicationContext(),event.getDay() + ". day", Toast.LENGTH_SHORT).show();
        }
    });