从班级到活动的数据传输

时间:2013-04-26 22:47:20

标签: java android

嗨!

我刚开始使用Android我有一个程序,它有一个类(扩展DialogFragment)和一个活动。如何将数据从类发送到android中的活动以便可以显示?我通过制定者尝试过,但我不确定这是否是正确的方法?

public class MyDialogFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the current time as the default values for the picker
            final Calendar c = Calendar.getInstance();
            int hour = c.get(Calendar.HOUR_OF_DAY);
            int minute = c.get(Calendar.MINUTE);

            // Create a new instance of TimePickerDialog and return it
            return new TimePickerDialog(getActivity(), this, hour, minute,
                    DateFormat.is24HourFormat(getActivity()));
        }

        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            // Do something with the time chosen by the user
            MainActivity main = new MainActivity();
            main.setHour(hourOfDay); // SETTER METHOD HERE.  
        }

}

我实际上还有一个问题:在android开发中应该在哪里进行计算?假设我需要在显示结果之前使用hourOfDay进行一些繁重的计算。应该在MyDialogFragment类中完成(所以我的活动只用于显示结果,仅此而已)?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您想要这样做:Communicating with Activities

您在本教程中所做的只是实现一个包含所需回调的界面。所以你几乎就在那里。

就你的计算而言。您应该将其保留在适当的片段中,除非您的Activity将要使用的多个片段都需要它。如果密集,请使用Loaders将其从UI线程中删除。