私はアンドロイドが初めてで、http://code.google.com/p/android-dateslider/コンポーネントを使用しています。ポップアップ ダイアログではなく、ビューに直接追加したいと考えています。
つまり、ビューの上部にダイアログ スライダーがあり、それをスライドすると、選択した日に関する追加情報が下に表示されます。
それを行う方法はありますか、またはダイアログフォームのみを使用するように制限されています。(datepickerの場合、ビュー内の位置を宣言するxmlを使用できることは知っていますが、その素晴らしさから、datespinnerを使用するのが本当に好きです:))
編集://
以下のようにxml宣言で試してみました。
<com.googlecode.android.widgets.DateSlider.SliderContainer
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/dateSliderContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1">
<com.googlecode.android.widgets.DateSlider.ScrollLayout
style="@style/Scroller"
app:childWidth="90dp"
app:labelerClass="com.googlecode.android.widgets.DateSlider.labeler.MonthYearLabeler"
app:labelerFormat="%tb %tY" >
</com.googlecode.android.widgets.DateSlider.ScrollLayout>
<com.googlecode.android.widgets.DateSlider.ScrollLayout
style="@style/Scroller"
app:childWidth="45dp"
app:labelerClass="com.googlecode.android.widgets.DateSlider.labeler.DayDateLabeler"
app:labelerFormat="%td %ta" >
</com.googlecode.android.widgets.DateSlider.ScrollLayout>
<include layout="@layout/dialogbuttons" />
</com.googlecode.android.widgets.DateSlider.SliderContainer>
アプリを起動すると、dateslider が表示されますが、タッチすると、次のようにアプリがクラッシュします: アプリケーションが予期せず停止しました。次の例外がスローされます。
10-05 20:04:59.995: E/AndroidRuntime(428): FATAL EXCEPTION: main
10-05 20:04:59.995: E/AndroidRuntime(428): java.lang.NullPointerException
10-05 20:04:59.995: E/AndroidRuntime(428): at com.googlecode.android.widgets.DateSlider.SliderContainer$1.onScroll(SliderContainer.java:38)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.googlecode.android.widgets.DateSlider.ScrollLayout.reScrollTo(ScrollLayout.java:402)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.googlecode.android.widgets.DateSlider.ScrollLayout.onTouchEvent(ScrollLayout.java:488)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.View.dispatchTouchEvent(View.java:3885)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1691)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1125)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.view.ViewRoot.handleMessage(ViewRoot.java:1878)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.os.Handler.dispatchMessage(Handler.java:99)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.os.Looper.loop(Looper.java:130)
10-05 20:04:59.995: E/AndroidRuntime(428): at android.app.ActivityThread.main(ActivityThread.java:3683)
10-05 20:04:59.995: E/AndroidRuntime(428): at java.lang.reflect.Method.invokeNative(Native Method)
10-05 20:04:59.995: E/AndroidRuntime(428): at java.lang.reflect.Method.invoke(Method.java:507)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-05 20:04:59.995: E/AndroidRuntime(428): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-05 20:04:59.995: E/AndroidRuntime(428): at dalvik.system.NativeStart.main(Native Method)
したがって、SliderContainer インスタンスを作成する必要があると思いますが、どこでしょうか?