Android 如何添加可绘制为整数的形状?

Android 如何添加可绘制为整数的形状?,android,gridview,drawable,shape,Android,Gridview,Drawable,Shape,我有一个带有gridview的日历,因此在日历中填充一些小数据块,如下图所示: adapter = new GridCellAdapter(getApplicationContext(), R.id.calendar_day_gridcell, month, year); R.id.calendar\u day\u gridcell在xml文件中分开: <Button android:id="@+id/calendar_day_gridcell" andr

我有一个带有gridview的日历,因此在日历中填充一些小数据块,如下图所示:

adapter = new GridCellAdapter(getApplicationContext(), R.id.calendar_day_gridcell, month, year);
R.id.calendar\u day\u gridcell在xml文件中分开:

<Button
        android:id="@+id/calendar_day_gridcell"
        android:layout_gravity="center"
        android:textColor="#000000"
        android:background="@drawable/calendar_button_selector"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="45dip"
        android:layout_height="45dip">
    </Button>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:drawable="@drawable/calendar_bg_orange" /> <!-- pressed -->
    <item
        android:state_focused="true"
        android:drawable="@drawable/calendar_bg_orange" /> <!-- focused -->
    <item
        android:drawable="@drawable/grid_cell_sajat" /> <!-- default -->
</selector>
“stld”是一个可绘制的,但是适配器需要一个整数。如何为适配器设置它,或以某种方式将其转换为整数类型

提前谢谢

很高兴这有帮助,
所以答案是:你们试过把它设为背景吗?大多数情况下都应该工作吗?意见。使用view.setBackgroundR.drawable.calendar\u按钮\u选择器;我想日历按钮选择器必须位于可绘制文件夹中才能工作。

您是否尝试将其设置为背景?大多数情况下都应该工作吗?意见。使用view.setBackgroundR.drawable.calendar\u按钮\u选择器;我想日历按钮选择器需要在可绘制文件夹中才能工作。我不确定这个“视图”。grdcell adaper int参数应该添加什么?添加得很好,就像charm这样的可设置背景的工程!
 int colorsxx[] = { 0xff393939 , 0xffffffff };

        GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, colorsxx);
        g.setStroke(3, Color.BLACK);
        GradientDrawable g2 = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colorsxx);
        g2.setStroke(3, Color.BLACK);
        g.setBounds(10, 10, 10, 10);

        StateListDrawable stld = new StateListDrawable();
       stld.addState(new int[] {-android.R.attr.state_enabled},  g);
       stld.addState(new int[] { android.R.attr.state_pressed }, g2);

adapter = new GridCellAdapter(getApplicationContext(), R.id.calendar_day_gridcell, month, year);