我正在研究几年前有人做过的Android应用程序(2012年我想),我正在努力更新它以便它可以再次运行。我已经纠正了我遇到的每一个弃用案例,除了一个令我疯狂的案例。
其中一个Activity正在使用对话框,但它们都已弃用。
以下是使用这些方法的类的一部分:
/**
* {@inheritDoc}
*/
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
if (hour == 0) {
hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
minute = Calendar.getInstance().get(Calendar.MINUTE);
}
mTPD = new TimePickerDialog(this, mTimeSetListener, hour, minute, true);
return mTPD;
}
return null;
}
/**
* {@inheritDoc}
*/
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
super.onPrepareDialog(id, dialog); // call super
switch (id) {
case DATE_DIALOG_ID:
((DatePickerDialog) dialog).setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
removeDialog(DATE_DIALOG_ID);
}
});
break;
case TIME_DIALOG_ID:
((TimePickerDialog) dialog).setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
removeDialog(TIME_DIALOG_ID);
}
});
break;
}
}
并呼吁
showDialog(TIME_DIALOG_ID);
再远一点。我创建了一个DlgsFragment类:
public class DlgsFragment extends DialogFragment{
int mNum;
static DlgsFragment newInstance(int num){
DlgsFragment f = new DlgsFragment();
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mNum = getArguments().getInt("num");
}
}
但是,由于我的第一堂课已经扩展了其他内容,我不知道该怎么做..请帮助我!