- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在一个 Activity 中,我根据选中的单选按钮调用不同的 fragment ,不同的 fragment 打开时包含用户应输入的不同内容。为此,用户必须“设置日期”和“设置时间”。
我正在使用这里的代码... click here .
当我在 Activity 中尝试它时它工作正常..但是当我把代码放在 fragment 中时,
showDialog(DATE_DIALOG_ID);
和
showDialog(TIME_DIALOG_ID);
有错误
方法 showDialog(int) 未定义类型 new View.OnclickListener(){
和
return new DatePickerDialog(this, datetoperform, currentYear, currentMonth, currentDay);
有错误
构造函数 DatePickerDialog(OrderTypeGeneralOrderFragment, DatePickerDialog.OnDateSetListener, int, int, int) 未定义
和
return new TimePickerDialog(this, timeDate, hour, minute, false);
有错误
构造函数**TimePickerDialog(OrderTypeGeneralOrderFragment, TimePickerDialog.OnTimeSetListener, int, int, boolean)**
未定义
这是我的代码:
package info.androidhive.slidingmenu;
import java.util.Calendar;
import android.os.Bundle;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.Fragment;
import android.app.TimePickerDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
public class OrderTypeGeneralOrderFragment extends Fragment{
private EditText subjectTextBox;
private int currentYear;
private int currentMonth;
private int currentDay;
static final int DATE_DIALOG_ID = 0;
static final int TIME_DIALOG_ID = 1;
int hour;
int minute;
private Button btDate;
private Button btTime;
private TextView timeDisplay;
private TextView dateDisplay;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstancesState)
{
return inflater.inflate(R.layout.generalorderfragment, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
Button btDate =(Button) getView().findViewById(R.id.btnDate);
btDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDialog(DATE_DIALOG_ID);
}
});
final Calendar c = Calendar.getInstance();
currentYear = c.get(Calendar.YEAR);
currentMonth = c.get(Calendar.MONTH);
currentDay = c.get(Calendar.DAY_OF_MONTH);
Button btTime = (Button) getView().findViewById(R.id.btnTime);
btTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDialog(TIME_DIALOG_ID);
}
});
final Calendar d = Calendar.getInstance();
hour = d.get(Calendar.HOUR_OF_DAY);
minute = d.get(Calendar.MINUTE);
TextView timeDisplay = (TextView) getView().findViewById(R.id.txtTime);
TextView dateDisplay = (TextView) getView().findViewById(R.id.txtDate);
EditText subjectTextBox = (EditText) getView().findViewById(R.id.subjectTextBoxId);
}
//--DATE PICKER--//
// Use the current date as the default date in the picker
protected Dialog onCreateDialog4(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, datetoperform, currentYear, currentMonth, currentDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, timeDate, hour, minute, false);
}
return null;
}
private DatePickerDialog.OnDateSetListener datetoperform = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int month, int day) {
// if (c1.isChecked()) {
dateDisplay.setText("Order will be performed on: "
+ (month + 1) + "-" + day + "-" + year + ".");
// }
}
};
private TimePickerDialog.OnTimeSetListener timeDate = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hours, int minutes) {
timeDisplay.setText("on " + hours + ":"
+ minutes + ".");
}
};
/* public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}*/
//--//DATE PICKER--//
}
我在想..也许可以把这部分放在
protected Dialog onCreateDialog4(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, datetoperform, currentYear, currentMonth, currentDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, timeDate, hour, minute, false);
}
return null;
}
private DatePickerDialog.OnDateSetListener datetoperform = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int month, int day) {
// if (c1.isChecked()) {
dateDisplay.setText("Order will be performed on: "
+ (month + 1) + "-" + day + "-" + year + ".");
// }
}
};
private TimePickerDialog.OnTimeSetListener timeDate = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hours, int minutes) {
timeDisplay.setText("on " + hours + ":"
+ minutes + ".");
}
};
/* public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}*/
//--//DATE PICKER--//
}
在调用此 fragment 的 Activity 中。
如果没问题..我将如何称呼这个 fragment 中的那个部分?
最佳答案
您需要获取 Activity 句柄才能调用 showDialog()。尝试调用 getActivity().showDialog()
关于java - 如何在 Fragment 中使用 showDialog() 和 DatePickerDialog()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21866965/
我不确定这是否被允许,但我有一个主窗体调用另一个带有 ShowDialog 的窗体,它试图调用另一个相同的窗体。 所以,例如: form1 -> form2.showdialog -> form3.s
我听说如果我在没有指定所有者的情况下调用 form.ShowDialog(),那么我可能会在屏幕上看不到对话框表单(它将与其他窗口一起隐藏)。是真的吗?我在没有指定所有者的情况下使用了 ShowDia
ShowDialog(); 和 ShowDialog(IWin32Window); 似乎对我做了完全相同的事情。文档也不是很清楚。 有人告诉我,ShowDialog(IWin32Window); 将确
在我执行函数showDialog 后键盘关闭。但是,我希望键盘保持打开状态并且对话框位于键盘上方。 下面是我的代码。 附言:在this post它表明至少应该以某种方式与 Flutter 一起工作。
我在覆盖、重载等方面很弱,所以我无法处理这个。我的问题是这样的 我有一个 frmDialog。它仅用于显示流程消息、错误消息等。它从日志中获取其文本,因此我不需要将变量传递给它。在每个进程(在其他表单
有时,当我在 WPF 中的 OpenFileDialog 窗口上调用 ShowDialog 时,对话框会立即关闭,返回值为 false。 我正在调用 ShowDialog 以响应按钮单击事件。我可以使
这个问题在这里已经有了答案: How to close Dialog using FlutterDriver (2 个答案) 关闭 2 年前。 我正在使用 FlutterDriver,我定义了一个
我正在使用 ShowDialog()与 WindowStyle = WindowStyle.SingleBorderWindow;在我的 WPF (MVVM) 应用程序中打开一个模式窗口,但它允许我使
WPF的 Window.ShowDialog 方法返回可为空的 bool(boolean) 值。 CommonDialog.ShowDialog 也是如此。 现在,我了解了以下情况:它们将返回fals
有没有办法让窗体闪烁,就像失去焦点时的 ShowDialog? 当您在 Windows 窗体上调用 ShowDialog 并尝试另一个操作时,窗体会闪烁几秒钟然后聚焦。 有没有办法以自定义方式调用闪烁
我的应用程序中有一个表单,通过单击帮助按钮,它会使用函数 show() 打开一个帮助表单。当我使用 showDialog() 从同一个主窗体打开另一个对话框时,帮助窗体被禁用。你有什么主意吗 ?我不想
我有一个强命名程序集。 之前有人问过这个问题......但只是出于不同的目的。 我有一个 Form 基类。当实现类在基类 IsBusy 上设置属性时。我想阻止与表单的所有交互(设置 Enabled =
我只是按照 android 网站的建议定义了一个对话框,但它不会在单击按钮时显示,有些代码是草率的(我没有收到任何错误): static final int DIALOG_A = 1; static
在我公司的企业解决方案中,我正在检查并尽可能多地清除内存泄漏。 我们有一个 BaseCaptureForm,它被许多其他表单(例如 RecommendationCaptureForm)继承。在整个系统
我在我的应用程序中使用了一个自定义的 Messagebox,它继承自 Form 类。当我在我的主窗体上使用它时它工作正常。但是,当我在从主窗体弹出的窗体上使用它的 Show() 函数时,Message
我正在尝试为我们的应用程序实现类似 alt-tab 的行为。当用户按下 ctrl-tab 时,会弹出一个表单(使用 ShowDialog);当他们再次按下它时,它会聚焦应用程序主窗体中的下一个控件。当
我有一个处理订阅数据的 winforms 应用程序。主窗体检查用户是否在数据存储区(xml 文件)中,如果不在,我就调用它。 UserDetails 是一个数据输入表单。 else { For
我有一个表格。 在这种形式中,我在新线程上创建了一个类的实例,因为它运行一些长时间运行的逻辑。该表单还使用户能够取消此逻辑/线程。 如果需要输入,该类会打开一个新表单。 新表格有时会出现在另一个表格后
我有一个 Windows 窗体,如果在加载窗体时满足某些条件,它会弹出一个对话框。问题是窗口没有停留在最上面,我仍然可以点击父级上的东西。但是,表单上有一个按钮,按下时会打开同一个窗口,当我这样做时,
我有两种形式。 LoadWorkstationFile 提示用户输入他们想要加载的 ID。 DisplayDataForm 显示他们在上一个屏幕上选择的 id 的数据。 在 DisplayDataFo
我是一名优秀的程序员,十分优秀!