Я хотел бы показать CalendarView в диалоговом окне, в центре экрана. Почему в диалоговом окне? Потому что, когда я открываю CalendarView, это взять все на экране, в то время как я хотел бы, чтобы отобразить его в диалоговом окне, чтобы увидеть фон ..CalendarView в Dialog
Так что мой calendar_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="400dp"
android:layout_height="400dp"
android:layout_marginLeft="150dp"/>
</RelativeLayout>
и это мой метод которые открывают мой календарь
public void showCalendar() {
Dialog dialog = new Dialog(getBaseContext());
// setContentView(R.layout.calendar_main);
cal = (CalendarView) findViewById(R.id.calendarView1);
dialog.setContentView(R.layout.calendar_main);
cal.setOnDateChangeListener(new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month,
int dayOfMonth) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),"Selected Date is\n\n"
+dayOfMonth+" : "+month+" : "+year ,
Toast.LENGTH_LONG).show();
}
});
}
Без диалога открывается календарь с хорошим размером, который я определил в xml. но с диалогами, мое приложение аварии ..
Это мой журнал ошибок:
E/AndroidRuntime(27862): FATAL EXCEPTION: main
E/AndroidRuntime(27862): java.lang.NullPointerException
E/AndroidRuntime(27862): at com.pdf.GetViewPDF.showCalendar(GetViewPDF.java:90)
E/AndroidRuntime(27862): at com.pdf.GetViewPDF.onOptionsItemSelected(GetViewPDF.java:113)
E/AndroidRuntime(27862): at android.app.Activity.onMenuItemSelected(Activity.java:2453)
E/AndroidRuntime(27862): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:846)
E/AndroidRuntime(27862): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:153)
E/AndroidRuntime(27862): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:956)
E/AndroidRuntime(27862): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:170)
E/AndroidRuntime(27862): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:85)
E/AndroidRuntime(27862): at android.view.View.performClick(View.java:3117)
E/AndroidRuntime(27862): at android.view.View$PerformClick.run(View.java:11941)
E/AndroidRuntime(27862): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(27862): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(27862): at android.os.Looper.loop(Looper.java:132)
E/AndroidRuntime(27862): at android.app.ActivityThread.main(ActivityThread.java:4123)
E/AndroidRuntime(27862): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(27862): at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime(27862): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime(27862): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime(27862): at dalvik.system.NativeStart.main(Native Method)
В противном случае, я называю ShowCalendar из пункта Бутон в моем ActionBar и NullPointerException появляются, когда я называю мой слушатель:
cal.setOnDateChangeListener(new OnDateChangeListener() {...
Оставьте заявку на журнал, пожалуйста. –
Можете ли вы сказать нам, какая линия - линия 90, пожалуйста? (строка исключения нулевого указателя) –
yes, NullPointerException появляется в: cal.setOnDateChangeListener (новый OnDateChangeListener() { –