android中网格视图中的不同列名

时间:2011-11-25 13:35:30

标签: android gridview calendar

enter image description here您好我正在开发Android应用程序。现在在这个阶段,我正在开发周视图中的日历。为此,我使用了网格视图。在网格视图中,每周有7列。每列都有一个文本视图,显示工作日的名称。现在我想在每一列显示不同的工作日。但我不知道如何实现这一点,因为我是这个领域的新手。我正在使用自定义适配器。Here is code任何帮助表示赞赏。  这里有6个想要显示工作日名称。

1 个答案:

答案 0 :(得分:1)

package com.gridlayoutdemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TableRow.LayoutParams;
import android.widget.TextView;

public class GridLayoutDemo extends Activity {
    /** Called when the activity is first created. */

   public String[] weekdays={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        GridView gridview = (GridView) findViewById(R.id.gridview); 
        gridview.setAdapter(new MyAdapter(this)); 
    }
}

class MyAdapter extends BaseAdapter { 
     Context context;

    public MyAdapter(Context context) {
        this.context = context;
    }

    public int getCount() {
        return 7;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder;
        if (convertView == null) {
            LayoutInflater li = LayoutInflater.from(context);
            convertView = li.inflate(R.layout.main1, null);
            holder = new ViewHolder();


            holder. tvWeekDay = (TextView)convertView.findViewById(R.id.tvWeekDayName);
                Calendar c = Calendar.getInstance();
                System.out.println(c.get(Calendar.DAY_OF_WEEK));

                 holder.tvWeekDay.setText(weekdays[position]);
                }
            }
            // holder.tvWeekDay.setText(Integer.toString(Calendar.MONTH));

            TextView tvDate = (TextView)convertView.findViewById(R.id.tvDate);
            TextView tvNotes = (TextView)convertView.findViewById(R.id.tvNotes1);
            convertView.setTag(holder);

            //tvWeekday.setText(c.get(Calendar.MONTH));
            tvNotes.setText(" Click here for new Note");
            tvNotes.setTextSize(10);
            tvNotes.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    System.out.println(" Click is successful");
                }
            });

            TextView tv2 = (TextView)convertView.findViewById(R.id.tvNotes2);
            tv2.setText(" Click here for new Note" );
            tv2.setTextSize(10);
            tv2.setLayoutParams(new LayoutParams(140, 200));

            tv2.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    System.out.println("1.Click is successful");
                }
            });
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }
        Calendar c = Calendar.getInstance();
        System.out.println(c.get(Calendar.DAY_OF_WEEK));

        return convertView;
    } 
    static class ViewHolder {
          TextView tvWeekDay;
     }
}

//main1.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">


        <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/LlHeader"
        android:background="@drawable/calendar_top_header">

                <TextView 
                    android:id="@+id/tvWeekDayName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" 
                    android:textStyle="bold"
                    android:layout_marginLeft="5dp"
                    android:singleLine="true" 
                    android:textColor="#FFFFFF"
                    android:text="Friday"/>

                <TextView 
                    android:id="@+id/tvDate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp" 
                    android:textStyle="bold"
                    android:layout_marginBottom="5dp"
                    android:singleLine="true" 
                    android:textColor="#FFFFFF"
                    android:text="25-NOV-2011"/>
        </LinearLayout>

    <TextView  android:id="@+id/tvNotes1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
    </TextView>

    <TextView  android:id="@+id/tvNotes2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
    </TextView>

</LinearLayout>


//main.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"  
    android:orientation="vertical"
    android:background="#f5f5f5"
    android:layout_height="fill_parent">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:orientation="horizontal"
        android:background="@drawable/calendar_top_header">

                <ImageView
                    android:id="@+id/imgleftarrow"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" 
                    android:src = "@drawable/cal_left_arrow_off">
                </ImageView>
                <TextView 
                    android:id="@+id/tvMonthName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" 
                    android:textStyle="bold"
                    android:layout_marginTop="5dp"
                    android:layout_marginLeft="80dp"
                    android:singleLine="true" 
                    android:textColor="#FFFFFF"
                    android:text="November"/>
                 <ImageView
                    android:id="@+id/imgrightarrow"
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="95dp"
                    android:layout_height="wrap_content" 
                    android:src = "@drawable/cal_right_arrow_off">
                </ImageView>

        <!--     </LinearLayout> -->
        </LinearLayout>


<GridView 
    android:id="@+id/gridview" 
    android:layout_width="fill_parent"  
    android:numColumns="2" 
    android:layout_height="fill_parent"
    android:background="#f5f5f5" 
     />
</LinearLayout>