Android ListView中的计数器

Android ListView中的计数器,android,listview,Android,Listview,我想做一个定制日历。我创建了一个由7个按钮组成的布局(linearLayout)。现在,我正在做一个ListView BaseAdapter,我想在其中设置这些按钮的文本。文本将是日期,如1月5日,但只有数字。问题是我不知道如何在getView()方法中传递视图之间的日期 我尝试使用全局变量,但由于多次调用getView()方法,int变量显示错误的结果。显示的不是5或14,而是17或29。如何解决这种情况 我想要的是: 1 2 3 4 5 6 7//记住这个7 8 9 10 11 12 13

我想做一个定制日历。我创建了一个由7个按钮组成的布局(linearLayout)。现在,我正在做一个ListView BaseAdapter,我想在其中设置这些按钮的文本。文本将是日期,如1月5日,但只有数字。问题是我不知道如何在getView()方法中传递视图之间的日期

我尝试使用全局变量,但由于多次调用getView()方法,int变量显示错误的结果。显示的不是5或14,而是17或29。如何解决这种情况

我想要的是: 1 2 3 4 5 6 7//记住这个7

8 9 10 11 12 13 14//7

int c; // Global varibale

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = LayoutInflater.from(context).inflate(R.layout.oneweek, null);
    Button button = (Button) view.findViewById(R.id.button4);
    Button button1 = (Button) view.findViewById(R.id.button12);
    Button button2 = (Button) view.findViewById(R.id.button13);
    Button button3 = (Button) view.findViewById(R.id.button16);
    Button button4 = (Button) view.findViewById(R.id.button17);
    Button button5 = (Button) view.findViewById(R.id.button18);
    Button button6 = (Button) view.findViewById(R.id.button19);
    Button[] buttons = new Button[]{button, button1, button2, button3, button4, button5, button6};

        for(int i = 0; i<7; i++){
                buttons[i].setText("" + c);
                c++;
        }
    return view;
}
int c;//全球varibale
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
View=LayoutFlater.from(上下文)。充气(R.layout.oneweek,空);
Button Button=(Button)view.findViewById(R.id.button4);
Button button1=(Button)view.findViewById(R.id.button12);
Button button2=(Button)视图.findViewById(R.id.button13);
ButtonButton3=(Button)视图.findViewById(R.id.button16);
ButtonButton4=(Button)视图.findViewById(R.id.button17);
Button button5=(Button)view.findViewById(R.id.button18);
Button button6=(Button)view.findViewById(R.id.button19);
按钮[]按钮=新按钮[]{按钮,按钮1,按钮2,按钮3,按钮4,按钮5,按钮6};

对于(int i=0;i我不知道您为什么要实现自己的日历视图。您应该使用现有的库(在我看来)

无论如何,下面的代码应该可以回答您的问题

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    //I suppose the layout is an viewgroup
    ViewGroup view = (ViewGroup) LayoutInflater.from(context).inflate(R.layout.oneweek, null);
    Button button = (Button) view.findViewById(R.id.button4);
    Button button1 = (Button) view.findViewById(R.id.button12);
    Button button2 = (Button) view.findViewById(R.id.button13);
    Button button3 = (Button) view.findViewById(R.id.button16);
    Button button4 = (Button) view.findViewById(R.id.button17);
    Button button5 = (Button) view.findViewById(R.id.button18);
    Button button6 = (Button) view.findViewById(R.id.button19);
    Button[] buttons = new Button[]{button, button1, button2, button3, button4, button5, button6};

    for(int i = 0; i<7; i++){
        buttons[i].setText((i+1) + (7 * position));
        //You have to add the buttons to the parent
        view.addView(buttons[i])
    }

    return view;
}
@覆盖
公共视图getView(int位置、视图转换视图、视图组父视图){
//我想布局是一个视图组
ViewGroup view=(ViewGroup)LAYOUTINGER.from(上下文)。膨胀(R.layout.oneweek,null);
Button Button=(Button)view.findViewById(R.id.button4);
Button button1=(Button)view.findViewById(R.id.button12);
Button button2=(Button)视图.findViewById(R.id.button13);
ButtonButton3=(Button)视图.findViewById(R.id.button16);
ButtonButton4=(Button)视图.findViewById(R.id.button17);
Button button5=(Button)view.findViewById(R.id.button18);
Button button6=(Button)view.findViewById(R.id.button19);
按钮[]按钮=新按钮[]{按钮,按钮1,按钮2,按钮3,按钮4,按钮5,按钮6};
对于(int i=0;i