6

私はカレンダーアプリケーションを開発しています。ここでは何をしたいのですか? 例えば、私は月にいろいろな日に様々な活動をしています。カレンダーでは、活動がある日(例えばコンサート)にアイコンを追加したいと思います。 1日にアクティビティがない場合、この日はアイコンが表示されません。アイコンを追加するか、カレンダービューの曜日アイコンを変更するには?

注:CalendarViewをカレンダーUIとして使用しています。

ここに私が説明しようとしているイメージがあります。

http://postimage.org/image/kdejw72nb/

私はこのspesific日にこの小さなアイコンを追加するために助けてください。

ありがとうございます。

+0

答えがありますか? –

+0

いいえ、私はこの質問が絶望的だとは思わない。 –

答えて

3

カスタムのgridViewを作成する必要があります。あなたは

GridView weekdays = (GridView) linearLayout.findViewById(R.id.weekdays); 
weekdays.setAdapter(new Weekdays()); 


public class WeekDays extends BaseAdapter { 
String[] weekdays = null; 

public WeekDayAdapter() { 
    DateFormatSymbols dateFormatSymbols= new DateFormatSymbols(); 

    weekdays = = dateFormatSymbols.getShortWeekdays(); 
} 

public int getCount() { 
    return 7; 
} 

public Object getItem(int position) { 
    return weekdays[position]; 
} 

public long getItemId(int position) { 
    return GridView.INVALID_ROW_ID; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    View view = null; 

    view = new LinearLayout(parent.getContext()); 
    view.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
    view.setOrientation(Horizontal); 

    LinearLayout linearLayout = new LinearLayout(parent.getContext()); 
    linearLayout.setOrientation(Vertical); 

    TextView weekDays = new TextView(parent.getContext()); 
    weekDays.setText(weekdays[position + 1]); 

    linearLayout.addView(weekDays); 

    view.addView(linearLayout); 

    return view; 
} 
} 

平日の可能性が表示するための

レイアウト平日

<GridView 
    android:id="@+id/weekdays" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical" 
    android:clickable="false" 
    android:numColumns="7" /> 

layout.xml日間

<GridView 
    android:id="@+id/days" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:numColumns="7" /> 

Javaコード:それはこのような何かを見ることができます月の日を設定するために同様のことをします。お気軽に質問してください。

+0

私はAndroidを知っていれば、これほどシンプルなコードを書くことができます。( –

1

また、CalendarProviderを使用することもできます。あなたはこれを参照することができます:http://developer.android.com/guide/topics/providers/calendar-provider.html

+0

彼はCalendarViewと呼ばれるカレンダーウィジェットの表示を変更する答えを探しています... – filipehd

+0

+1ソリューションカレンダープロバイダが最適なソリューションかもしれません。 –

関連する問題