简单timepicker一个片段活动 [英] Simple timepicker for a fragment activity
问题描述
我想推出一个 timepicker
从的EditText
在一个片段
Buffet_offerings_breakfast_menu2.java
公共类Buffet_offerings_breakfast_menu2扩展片段实现PickTime {
RadioGroup中RadioGroup中;
的EditText ED1,ED2;
布尔标志= FALSE;
TimePickerFragment newFragment;
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
捆绑savedInstanceState){
// TODO自动生成方法存根
最终的视图中查看= inflater.inflate(R.layout.buffet_offerings_breakfast_menu2,集装箱,假);
ED1 =(EditText上)view.findViewById(R.id.from_lunch_edit_text_id);
ED2 =(EditText上)view.findViewById(R.id.to_lunch_edit_text_id);
RadioGroup中=(RadioGroup中)view.findViewById(R.id.radioGroup1);
newFragment =新TimePickerFragment();
ed1.setOnFocusChangeListener(新OnFocusChangeListener(){
@覆盖
公共无效onFocusChange(视图V,布尔hasFocus){
如果(hasFocus){
标志= FALSE;
newFragment.show(getFragmentManager(),timePicker);
}
}
});
ed2.setOnFocusChangeListener(新OnFocusChangeListener(){
@覆盖
公共无效onFocusChange(视图V,布尔hasFocus){
如果(hasFocus){
标志=真正的;
newFragment.show(getFragmentManager(),timePicker);
}
}
});
radioGroup.setOnCheckedChangeListener(新OnCheckedChangeListener(){
公共无效onCheckedChanged(RadioGroup中组,诠释checkedId){
// checkedId是单选按钮选定
如果(checkedId == R.id.SelectDaysRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.VISIBLE);
}
否则,如果(checkedId == R.id.WeekdaysRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.INVISIBLE);
}
否则,如果(checkedId == R.id.WeekendsRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.INVISIBLE);
}
}
});
返回查看;
}
@覆盖
公共无效returnTime(字符串值){
// TODO自动生成方法存根
如果(旗==假)
ed1.setText(值);
否则,如果(旗==真)
ed2.setText(值);
}
}
TimePickerFragment.java
公共类TimePickerFragment扩展DialogFragment
实现TimePickerDialog.OnTimeSetListener {
公共接口PickTime
{
公共无效returnTime(字符串值);
}
PickTime mCallback;
@覆盖
公共对话onCreateDialog(包savedInstanceState){
//使用当前时间作为选择器的默认值
mCallback =(PickTime)getActivity();
最后的日历C = Calendar.getInstance();
INT小时= c.get(Calendar.HOUR_OF_DAY);
INT分钟= c.get(Calendar.MINUTE);
//创建TimePickerDialog的新实例,并将其返回
返回新TimePickerDialog(getActivity(),这一点,小时,分钟,
DateFormat.is24HourFormat(getActivity()));
}
公共无效onTimeSet(TimePicker观点,诠释hourOfDay,INT分钟){
//做一些与用户所选择的时间
如果(mCallback!= NULL)
{
StringBuilder的SB =新的StringBuilder();
sb.append(hourOfDay);
sb.append(:);
sb.append(分钟);
mCallback.returnTime(sb.toString());
}
}
}
登录 ::
八月12日至27日:55:53.543:E / AndroidRuntime(279):致命异常:主要
八月12号至27日:55:53.543:E / AndroidRuntime(279):java.lang.ClassCastException:com.project.findmybuffet.BuffetOfferings_MainFragmentActivity
八月12号至27日:55:53.543:E / AndroidRuntime(279):在com.project.findmybuffet.TimePickerFragment.onCreateDialog(TimePickerFragment.java:24)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:295)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.support.v4.app.FragmentManagerImpl $ 1.运行(FragmentManager.java:440)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.os.Handler.handleCallback(Handler.java:587)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.os.Handler.dispatchMessage(Handler.java:92)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.os.Looper.loop(Looper.java:123)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在android.app.ActivityThread.main(ActivityThread.java:4627)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在java.lang.reflect.Method.invokeNative(本机方法)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在java.lang.reflect.Method.invoke(Method.java:521)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
八月12号至27日:55:53.543:E / AndroidRuntime(279):在dalvik.system.NativeStart.main(本机方法)
{}编辑主持片段的活性
BuffetOfferings_MainFragmentActivity.java
公共类BuffetOfferings_MainFragmentActivity扩展FragmentActivity {
按钮back_button;
FragmentManager经理;
FragmentTransaction交易;
@覆盖
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.buffet_offerings_fragment_main_reference);
Buffet_offerings_breakfast_menu1 breakfast_fragment =新Buffet_offerings_breakfast_menu1();
Buffet_offerings_lunch_menu1 lunch_fragment =新Buffet_offerings_lunch_menu1();
Buffet_offerings_dinner_menu1 dinner_fragment =新Buffet_offerings_dinner_menu1();
经理= getSupportFragmentManager();
交易= manager.beginTransaction();
transaction.add(R.id.BREAKFAST_LAYOUT_ID,breakfast_fragment,breakfast_menu1_fragment);
transaction.add(R.id.LUNCH_LAYOUT_ID,lunch_fragment,lunch_menu1_fragment);
transaction.add(R.id.DINNER_LAYOUT_ID,dinner_fragment,dinner_menu1_fragment);
器transaction.commit();
back_button =(按钮)findViewById(R.id.TopNavigationBarRestaurantBuffetOfferingsBackButton);
back_button.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
完();
}
});
}
公共无效BreakfastRedMenu1(查看V){
Buffet_offerings_breakfast_menu2 breakfast_fragment1 =新Buffet_offerings_breakfast_menu2();
交易= manager.beginTransaction();
transaction.replace(R.id.BREAKFAST_LAYOUT_ID,breakfast_fragment1,Tag1中);
器transaction.commit();
}
公共无效LunchRedMenu1(查看V){
Buffet_offerings_lunch_menu2 lunch_fragment1 =新Buffet_offerings_lunch_menu2();
交易= manager.beginTransaction();
transaction.replace(R.id.LUNCH_LAYOUT_ID,lunch_fragment1,与Tag2);
器transaction.commit();
}
公共无效DinnerRedMenu1(查看V){
Buffet_offerings_dinner_menu2 dinner_fragment1 =新Buffet_offerings_dinner_menu2();
交易= manager.beginTransaction();
transaction.replace(R.id.DINNER_LAYOUT_ID,dinner_fragment1,TAG3);
器transaction.commit();
}
公共无效BreakfastGreenMenu2(查看V){
Buffet_offerings_breakfast_menu1 breakfast_fragment2 =新Buffet_offerings_breakfast_menu1();
交易= manager.beginTransaction();
transaction.replace(R.id.BREAKFAST_LAYOUT_ID,breakfast_fragment2,TAG4);
器transaction.commit();
}
公共无效LunchGreenMenu2(查看V){
Buffet_offerings_lunch_menu1 lunch_fragment2 =新Buffet_offerings_lunch_menu1();
交易= manager.beginTransaction();
transaction.replace(R.id.LUNCH_LAYOUT_ID,lunch_fragment2,Tag5);
器transaction.commit();
}
公共无效DinnerGreenMenu2(查看V){
Buffet_offerings_dinner_menu1 dinner_fragment2 =新Buffet_offerings_dinner_menu1();
交易= manager.beginTransaction();
transaction.replace(R.id.DINNER_LAYOUT_ID,dinner_fragment2,Tag6);
器transaction.commit();
}
}
所有片段到片段的通信是通过相关的活动进行。两个片段不应该直接沟通。
http://developer.android.com/training/basics/fragments/ communicating.html
您可以通过接口作为回调到活动中。因此,获得了一次活动,然后传达给片段。
例如:
有关的例子起见,我延伸活动。您可以扩展FragmentAcitivty ANS使用支持库,并作出适当的进口。
公共类MainActivity扩展活动实现PickTime {
EditFragment newFragment;
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
newFragment =新EditFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction交易= fragmentManager.beginTransaction();
transaction.replace(R.id.container,newFragment);
//transaction.addToBackStack(null);
器transaction.commit();
}
@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
//充气菜单;这增加了项目操作栏,如果它是present。
。getMenuInflater()膨胀(R.menu.main,菜单);
返回true;
}
@覆盖
公共无效returnTime(字符串值){
// TODO自动生成方法存根
如果(newFragment.isVisible())
{
newFragment.setEdittextvalue(值);
}
}
}
片段,只需EDITTEXT
公共类EditFragment扩展片段{
的EditText编;
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
捆绑savedInstanceState){
视图V = inflater.inflate(R.layout.fragmentlayout,集装箱,假);
返回伏;
}
@覆盖
公共无效onActivityCreated(包savedInstanceState){
// TODO自动生成方法存根
super.onActivityCreated(savedInstanceState);
ED =(EditText上)getView()findViewById(R.id.editText1)。
ed.setOnClickListener(新OnClickListener()
{
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
TimePickerFragment newFragment =新TimePickerFragment();
newFragment.show(getFragmentManager(),timePicker);
}
});
}
公共无效setEdittextvalue(字符串值){
// TODO自动生成方法存根
ed.setText(值);
}
}
TimerPickerFragment
公共类TimePickerFragment扩展DialogFragment
实现TimePickerDialog.OnTimeSetListener {
@覆盖
公共无效onAttach(活动活动){
// TODO自动生成方法存根
super.onAttach(活动);
mCallback =(PickTime)的活动;
}
公共接口PickTime
{
公共无效returnTime(字符串值);
}
PickTime mCallback;
@覆盖
公共对话onCreateDialog(包savedInstanceState){
//使用当前时间作为选择器的默认值
最后的日历C = Calendar.getInstance();
INT小时= c.get(Calendar.HOUR_OF_DAY);
INT分钟= c.get(Calendar.MINUTE);
//创建TimePickerDialog的新实例,并将其返回
返回新TimePickerDialog(getActivity(),这一点,小时,分钟,
DateFormat.is24HourFormat(getActivity()));
}
公共无效onTimeSet(TimePicker观点,诠释hourOfDay,INT分钟){
//做一些与用户所选择的时间
如果(mCallback!= NULL)
{
StringBuilder的SB =新的StringBuilder();
sb.append(hourOfDay);
sb.append(:);
sb.append(分钟);
mCallback.returnTime(sb.toString());
}
}
}
I am trying to launch a timepicker
from a edittext
in a fragment
Buffet_offerings_breakfast_menu2.java
public class Buffet_offerings_breakfast_menu2 extends Fragment implements PickTime{
RadioGroup radioGroup;
EditText ed1,ed2;
boolean flag =false;
TimePickerFragment newFragment;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
final View view=inflater.inflate(R.layout.buffet_offerings_breakfast_menu2, container, false);
ed1 = (EditText) view.findViewById(R.id.from_lunch_edit_text_id);
ed2 = (EditText) view.findViewById(R.id.to_lunch_edit_text_id);
radioGroup = (RadioGroup) view.findViewById(R.id.radioGroup1);
newFragment = new TimePickerFragment();
ed1.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
flag =false;
newFragment.show(getFragmentManager(), "timePicker");
}
}
});
ed2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
flag =true;
newFragment.show(getFragmentManager(), "timePicker");
}
}
});
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
if(checkedId == R.id.SelectDaysRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.VISIBLE);
}
else if(checkedId == R.id.WeekdaysRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.INVISIBLE);
}
else if(checkedId == R.id.WeekendsRG_ID)
{
view.findViewById(R.id.linearLayout_individualdays).setVisibility(View.INVISIBLE);
}
}
});
return view;
}
@Override
public void returnTime(String value) {
// TODO Auto-generated method stub
if(flag==false)
ed1.setText(value);
else if(flag==true)
ed2.setText(value);
}
}
TimePickerFragment.java
public class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
public interface PickTime
{
public void returnTime(String value);
}
PickTime mCallback;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
mCallback = (PickTime) getActivity();
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
if(mCallback!=null)
{
StringBuilder sb = new StringBuilder();
sb.append(hourOfDay);
sb.append(":");
sb.append(minute);
mCallback.returnTime(sb.toString());
}
}
}
Log::
12-27 08:55:53.543: E/AndroidRuntime(279): FATAL EXCEPTION: main
12-27 08:55:53.543: E/AndroidRuntime(279): java.lang.ClassCastException: com.project.findmybuffet.BuffetOfferings_MainFragmentActivity
12-27 08:55:53.543: E/AndroidRuntime(279): at com.project.findmybuffet.TimePickerFragment.onCreateDialog(TimePickerFragment.java:24)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:295)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.os.Handler.handleCallback(Handler.java:587)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.os.Handler.dispatchMessage(Handler.java:92)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.os.Looper.loop(Looper.java:123)
12-27 08:55:53.543: E/AndroidRuntime(279): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-27 08:55:53.543: E/AndroidRuntime(279): at java.lang.reflect.Method.invokeNative(Native Method)
12-27 08:55:53.543: E/AndroidRuntime(279): at java.lang.reflect.Method.invoke(Method.java:521)
12-27 08:55:53.543: E/AndroidRuntime(279): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-27 08:55:53.543: E/AndroidRuntime(279): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-27 08:55:53.543: E/AndroidRuntime(279): at dalvik.system.NativeStart.main(Native Method)
{Edit} hosted fragment activity
BuffetOfferings_MainFragmentActivity.java
public class BuffetOfferings_MainFragmentActivity extends FragmentActivity{
Button back_button;
FragmentManager manager;
FragmentTransaction transaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.buffet_offerings_fragment_main_reference);
Buffet_offerings_breakfast_menu1 breakfast_fragment=new Buffet_offerings_breakfast_menu1();
Buffet_offerings_lunch_menu1 lunch_fragment=new Buffet_offerings_lunch_menu1();
Buffet_offerings_dinner_menu1 dinner_fragment=new Buffet_offerings_dinner_menu1();
manager=getSupportFragmentManager();
transaction=manager.beginTransaction();
transaction.add(R.id.BREAKFAST_LAYOUT_ID,breakfast_fragment, "breakfast_menu1_fragment");
transaction.add(R.id.LUNCH_LAYOUT_ID,lunch_fragment, "lunch_menu1_fragment");
transaction.add(R.id.DINNER_LAYOUT_ID,dinner_fragment, "dinner_menu1_fragment");
transaction.commit();
back_button=(Button) findViewById(R.id.TopNavigationBarRestaurantBuffetOfferingsBackButton);
back_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}
public void BreakfastRedMenu1(View V){
Buffet_offerings_breakfast_menu2 breakfast_fragment1=new Buffet_offerings_breakfast_menu2();
transaction=manager.beginTransaction();
transaction.replace(R.id.BREAKFAST_LAYOUT_ID, breakfast_fragment1, "Tag1");
transaction.commit();
}
public void LunchRedMenu1(View V){
Buffet_offerings_lunch_menu2 lunch_fragment1=new Buffet_offerings_lunch_menu2();
transaction=manager.beginTransaction();
transaction.replace(R.id.LUNCH_LAYOUT_ID, lunch_fragment1, "Tag2");
transaction.commit();
}
public void DinnerRedMenu1(View V){
Buffet_offerings_dinner_menu2 dinner_fragment1=new Buffet_offerings_dinner_menu2();
transaction=manager.beginTransaction();
transaction.replace(R.id.DINNER_LAYOUT_ID, dinner_fragment1, "Tag3");
transaction.commit();
}
public void BreakfastGreenMenu2(View V){
Buffet_offerings_breakfast_menu1 breakfast_fragment2=new Buffet_offerings_breakfast_menu1();
transaction=manager.beginTransaction();
transaction.replace(R.id.BREAKFAST_LAYOUT_ID, breakfast_fragment2, "Tag4");
transaction.commit();
}
public void LunchGreenMenu2(View V){
Buffet_offerings_lunch_menu1 lunch_fragment2=new Buffet_offerings_lunch_menu1();
transaction=manager.beginTransaction();
transaction.replace(R.id.LUNCH_LAYOUT_ID, lunch_fragment2, "Tag5");
transaction.commit();
}
public void DinnerGreenMenu2(View V){
Buffet_offerings_dinner_menu1 dinner_fragment2=new Buffet_offerings_dinner_menu1();
transaction=manager.beginTransaction();
transaction.replace(R.id.DINNER_LAYOUT_ID, dinner_fragment2, "Tag6");
transaction.commit();
}
}
All Fragment-to-Fragment communication is done through the associated Activity. Two Fragments should never communicate directly.
http://developer.android.com/training/basics/fragments/communicating.html
You can interface as a call back to the activity. So get the time in activity and then communicate to fragment.
Example:
For the example sake i am extending Activity. You can extend FragmentAcitivty ans use support library and make proper imports.
public class MainActivity extends Activity implements PickTime{
EditFragment newFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
newFragment = new EditFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.container, newFragment);
//transaction.addToBackStack(null);
transaction.commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void returnTime(String value) {
// TODO Auto-generated method stub
if(newFragment.isVisible())
{
newFragment.setEdittextvalue(value);
}
}
}
Fragment with just a Edittext
public class EditFragment extends Fragment {
EditText ed;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragmentlayout,container,false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
ed = (EditText) getView().findViewById(R.id.editText1);
ed.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimePickerFragment newFragment = new TimePickerFragment();
newFragment.show(getFragmentManager(), "timePicker");
}
});
}
public void setEdittextvalue(String value) {
// TODO Auto-generated method stub
ed.setText(value);
}
}
TimerPickerFragment
public class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
mCallback = (PickTime) activity;
}
public interface PickTime
{
public void returnTime(String value);
}
PickTime mCallback;
@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
if(mCallback!=null)
{
StringBuilder sb = new StringBuilder();
sb.append(hourOfDay);
sb.append(":");
sb.append(minute);
mCallback.returnTime(sb.toString());
}
}
}
这篇关于简单timepicker一个片段活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!