我只是想从我在网上找到的许多android
datepicker教程之一创建的datepicker对话框中获取日期。一旦选择了文本日期,我似乎在实际检索文本日期的某处出错。我有一个DatePickerFragment类,该类从嵌套在MainActivity活动类内的CreateEvent片段调用。这是DatePicker:
public class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
private EditText txtDate;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
txtDate = (EditText)view.findViewById(R.id.txtDate);
txtDate.setText(day + " " + (month + 1) + " " + year);
}
}
我知道Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence) on a null object reference
实际尝试设置日期的时间,据我了解,这意味着它实际上无法在我的创建事件片段xml文件中找到edittext元素。
我应该如何从中设置此edittext元素的文本,onDateSet
还是必须更改方法?
我以这种方式尝试过,但无济于事。
您需要使用一个 接口 来将数据从datepicker
传送到调用者fragment
:
public interface DateListener {
void passDate(String date);
}
创建一个名为的 成员变量mListener
:
private DateListener mListener;
覆盖onAttach
&onDetach
fragment
方法:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (DateListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement DateListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
接下来,interface
在调用方中实现它fragment
并覆盖passDate
方法:
@Override
public void passDate(String date) {
// Do something with 'date', yourEditText.setText(date) for the example
}
而且您应该很好。
我正在尝试创建searchdate。我在这里做的是 下面是 所以首先,我打开,它是一个片段。然后单击(编辑文本)后,它将显示(DatePickerFragment)。显示没有问题,也没有错误。 我的问题是,我怎么能设置值后,我选择日期从我的?
我试图从我的SQLite数据库获取我的检查文本视图状态,但它正在崩溃的应用程序。 下面是实现的代码: 它给出了这个错误: java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.WoodlandLoverter/com.example.WoodlandLoverter.levelOneActivity}:android.d
我正在尝试在云中设置Jmeter的主从设置。 我在CLOUD中为主服务器和从服务器做的设置 我在Master中创建了文件,并将其复制到Slave机器上。 我在两台机器上都安装了相同版本的Java和Jeter 我在Master的文件中添加了Slave机器的IP地址 请帮助我,为什么当我试图在云机器中执行jmeter脚本时,会遇到连接超时错误。接收: 拒绝连接到主机:10。XXX . xx . XXX
设定的功能为: 对象是 这是BCinSertService:
我正在开发一个应用程序,我显式地将应用程序的语言环境设置为阿拉伯语。然而,我想收集英语的电话号码。我如何才能将EditText和TextView的语言环境显式地设置为美国英语。 下面是我如何设置应用程序区域设置的。我有一门助手课 在我的活动中,我在中使用这个助手,如下所示: 如何分别为我们设置EditText或TextView的区域设置?
我一直在这里跟随这个教程: Android Studio-导入外部库/JAR