6

Sto sviluppando un'applicazione per il calendario ed ecco cosa voglio fare; per esempio, ho varie attività in vari giorni del mese e sul calendario, voglio aggiungere un'icona ai giorni che hanno attività (un concerto per esempio). se un giorno non ha un'attività, questo giorno non avrà un'icona.Come aggiungere un'icona o cambiare l'icona del giorno della vista del calendario?

Nota: sto usando CalendarView come interfaccia utente del calendario.

Ecco l'immagine che sto cercando di spiegare;

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

prego, aiutami a aggiungere questo piccole icone per questi giorni spesific.

Grazie in anticipo.

+0

Hai la risposta? –

+0

no, non ho, penso che questa domanda sia disperata. –

risposta

3

Dovresti creare il tuo gridView personalizzato. Potrebbe essere simile a questa:

layout per i giorni della settimana

<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 per i giorni

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

il codice Java per la visualizzazione dei giorni feriali

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; 
} 
} 

Si potrebbe fare qualcosa di simile per impostare i giorni del mese. Sentiti libero di fare qualsiasi domanda.

+0

Avrei dovuto sapere che Android ti avrebbe fatto scrivere una tonnellata di codice per qualcosa di così semplice :( –

Problemi correlati