我为日历视图编写了一个程序,该程序无法正常工作。 首先,我有一个按钮,当点击打开一个新的活动,其中有一个线性布局,我有3个文本视图的日月,我有一个对话框打开线性布局点击,因为我说我有3个textviews在我的线性布局中,而不是使用三个不同的点击监听器,我在线性布局ID的帮助下使用了onclick,所以我的日历对话框正在打开,但是当我使用calendar.setOnDateChangeListener我的应用程序崩溃时给了我一个关于这个监听器的错误,现在我想知道我应该在我的活动类里面使用setondatechangelistener?或者在我的片段类里面? 因为我的日历对话框在点击时打开,但我想在选择特定日期时在textview中设置日期 需要一些帮助
下面是我的上述解释的代码,我也评论了我的calender.setondatechangelistener
我的MainActivity.java
l1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
android.app.FragmentManager manager = getFragmentManager();
CalendarAlert dialog = new CalendarAlert();
dialog.show(manager, "MyDialog");
}
});
/*
calendar.setOnDateChangeListener(new OnDateChangeListener() {
@Override public void onSelectedDayChange(CalendarView view, int
year, int month, int dayOfMonth) {
// TODO Auto-generated method stub
} });
*/
}
我的CalenderAlert.java
public class CalendarAlert extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.calendar, container, false);
setCancelable(true);
return view;
}
}
答案 0 :(得分:1)
在java中,我们可以将类放在另一个类中。
因此,将CalendarAlert-DialogFragment放入您的活动中。在类中创建3 TextView,并在setondatechangelistener方法中设置它们。