适配器NoteAdapter

相当于数据和ListView之间的中介

 package com.example.note;
 
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.preference.PreferenceManager;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.Filter;
 import android.widget.Filterable;
 import android.widget.TextView;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.prefs.Preferences;
 
 //BaseAdapter:几乎每一个适配器都会继承的superclass,Filterable方便对内容进行排序
 public class NoteAdapter extends BaseAdapter implements Filterable {
     private Context mContext;
 
     private List<Note> backList;            //用来备份原始数据,防止更新失败时丢失之前的数据
     private List<Note> noteList;            //这个数据是会改变的,所以要有个变量来备份一下原始数据
     private MyFilter myFilter;
 
     public NoteAdapter(Context mContext,List<Note> notelist) {
         this.mContext = mContext;
         this.noteList = notelist;
         backList = noteList;
    }
 
     @Override
     public int getCount(){return noteList.size();}
     @Override
     public Object getItem(int position){return noteList.get(position);}
     @Override
     public long getItemId(int position){return position;}
 
     @Override
     //固定格式
     public View getView(int position, View converView, ViewGroup parent){
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
         mContext.setTheme((sharedPreferences.getBoolean("nightMode",false)? R.style.NightTheme:R.style.DayTheme));
         View v = View.inflate(mContext,R.layout.note_layout,null);      //渲染一个View
         TextView tv_content = (TextView)v.findViewById(R.id.tv_content);     //第一行内容
         TextView tv_time = (TextView)v.findViewById(R.id.tv_time);           //第二行时间