我正在使用DatePicker创建日历视图。我有4个按钮。前2个按钮供用户选择年份。例如,如果日历当前显示2013,如果用户按下第一个左按钮,我希望它显示2012,如果用户按第一个右按钮,我希望它显示2014年。基本上,按钮s用于递增和递减年和月。但是,我找不到以编程方式更改日历的方法。这是我的代码。当我使用CalanderView时,它会减慢应用程序的速度。这就是为什么我使用DatePicker的CalanderView模式。如果你们中有人知道更好的方法,请告诉我。
android:background="#ff46554b"
android:layout_width="match_parent"
android:layout_height="match_parent" android:weightSum="1">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_weight=".05"
android:layout_height="wrap_content">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView" android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button"/>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_weight=".05"
android:layout_height="wrap_content">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/button"/>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2" android:layout_alignParentTop="true" android:layout_alignParentRight="true"/>
</RelativeLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_weight=".8"
android:weightSum="1"
android:layout_height="wrap_content">
<DatePicker
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:calendarViewShown="true"
android:spinnersShown="false"
android:scaleX="1.3"
android:scaleY="1.3"
android:id="@+id/datePicker"
android:layout_gravity="center_horizontal"
android:minWidth="100dp"
android:minHeight="100dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_weight=".2"
android:weightSum="1"
android:layout_height="53dp">
<Button
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="cancel"
android:layout_weight=".5"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:background="@drawable/refreshbutton"
android:id="@+id/cancel"/>
<Button
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="select"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/refreshbutton"
android:layout_weight=".5"
android:id="@+id/select"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="61dp"
android:layout_weight=".1"
android:background="#ff5c625f"
android:weightSum="1">
<com.mopub.mobileads.MoPubView
android:id="@+id/adview"
android:layout_width="fill_parent"
android:layout_gravity="top"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>
答案 0 :(得分:0)
您可以使用findViewById()
获取Button和DatePicker,然后设置按钮的setOnClickListener
以使用DatePicker的updateDate(int year, int month, int dayOfMonth)
更改年份:
Button b = (Button)findViewById(R.id.BUTTON_ID_HERE);
DatePicker d = (DatePicker)findViewById(R.id.DATEPICKER_ID_HERE);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int year = d.getYear();
int month = d.getMonth();
int day = d.getDayOfMonth();
d.updateDate(year, month, day);
}
});
按钮:http://developer.android.com/reference/android/widget/Button.html
DatePicker:http://developer.android.com/reference/android/widget/DatePicker.html