/* * Copyright (C) 2015, Jhuster, All Rights Reserved * * Author: Jhuster(lujun.hust@gmail.com) * * https://github.com/Jhuster/JNote * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. */ package com.jhuster.jnote; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.TextView; import com.jhuster.jnote.db.NoteDB; import com.jhuster.jnote.db.NoteDB.Note; import java.text.SimpleDateFormat; import java.util.Locale; public class NoteAdapter extends BaseAdapter { private Context mContext; protected class ViewHolder { TextView mNoteDate; TextView mNoteTitle; } public NoteAdapter(Context context) { mContext = context; } @Override public int getCount() { return NoteDB.getInstance().size(); } @Override public Object getItem(int position) { return NoteDB.getInstance().get(position); } @Override public long getItemId(int position) { return ((Note) getItem(position)).key; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = (LinearLayout) inflater.inflate(R.layout.layout_note_item, null); ViewHolder holder = new ViewHolder(); holder.mNoteDate = (TextView) convertView.findViewById(R.id.NoteDateText); holder.mNoteTitle = (TextView) convertView.findViewById(R.id.NoteTitleText); convertView.setTag(holder); } Note note = (Note) getItem(position); if (note != null) { ViewHolder holder = (ViewHolder) convertView.getTag(); holder.mNoteDate.setText(getDateStr(note.date)); holder.mNoteTitle.setText(note.title); } return convertView; } public static String getDateStr(long milliseconds) { return new SimpleDateFormat("yyyy年MM月dd日 EEEE HH点mm分", Locale.CHINA).format(milliseconds); } }