6

मैं कैलेंडर आवेदन विकसित कर रहा हूं और यहां मैं जो करना चाहता हूं; उदाहरण के लिए , मेरे पास एक महीने के विभिन्न दिनों और कैलेंडर पर विभिन्न गतिविधियां हैं, मैं उन दिनों में एक आइकन जोड़ना चाहता हूं जिसमें गतिविधि है (उदाहरण के लिए एक संगीत कार्यक्रम)। अगर किसी दिन में कोई गतिविधि नहीं है तो इस दिन कोई आइकन नहीं होगा।आइकन जोड़ने या कैलेंडरव्यू के दिन आइकन को कैसे बदलें?

नोट: मैं कैलेंडर UI को कैलेंडर UI के रूप में उपयोग कर रहा हूं।

यहां वह छवि है जिसे मैं समझाने की कोशिश कर रहा हूं;

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

कृपया मदद मुझे इस spesific दिनों के लिए इस छोटे से माउस को जोड़ने के लिए।

अग्रिम धन्यवाद।

+0

क्या आपको उत्तर मिला है? –

+0

नहीं, मुझे नहीं लगता, मुझे लगता है कि यह सवाल बेताब है। –

उत्तर

3

आपको अपना कस्टम ग्रिड व्यू बनाना होगा।

लेआउट काम करने के दिन के लिए दिन के लिए काम करने के दिन

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/days" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:numColumns="7" /> 

जावा कोड

<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: यह कुछ इस तरह दिखाई दे सकता है महीने के दिनों को स्थापित करने के लिए कुछ ऐसा ही करें। आप कोई भी प्रश्न पूछ सकते हैं।

+0

मुझे पता होना चाहिए कि एंड्रॉइड आपको इस तरह के कुछ के लिए कोड का एक टन लिखने के लिए तैयार करेगा :( –

1

कैलेंडरप्रोवाइडर का उपयोग करने का एक और विकल्प है। आप इसे देख सकते हैं: http://developer.android.com/guide/topics/providers/calendar-provider.html

+0

वह कैलेंडरव्यू नामक कैलेंडर विजेट के दृश्य को बदलने का उत्तर ढूंढ रहा है ... – filipehd

+0

+1 बेहतर प्रदान करने के लिए समाधान। शायद कैलेंडर प्रदाता सबसे अच्छा समाधान है। –

संबंधित मुद्दे