package com.example.wordbook; import java.util.List; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleAdapter; import android.widget.TextView; import com.example.wordbook.common.Common; /** * 選択ダイアログ用アダプタ */ public class FlagAdapter extends SimpleAdapter { /** LayoutInflater */ private LayoutInflater mInflater; /** * ViewHolder */ private static class ViewHolder { TextView flag; } /** * コンストラクタ * * @param context * コンテキスト * @param data * アイテム * @param resource * リソースID * @param from * マップキー * @param to * ウィジェットID */ public FlagAdapter(Context context, List> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); mInflater = LayoutInflater.from(context); } /* * (非 Javadoc) * * @see android.widget.Adapter#getView(int, android.view.View, * android.view.ViewGroup) */ @Override public View getView(int position, View convertView, ViewGroup parent) { // View設定 ViewHolder holder; View view = convertView; if (view == null) { view = mInflater.inflate(R.layout.dlg_flag, parent, false); holder = new ViewHolder(); holder.flag = (TextView) view.findViewById(R.id.textView); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } // アイテム取得 @SuppressWarnings("unchecked") Map data = (Map) getItem(position); // 背景色設定 Common.setBackgroundColor(holder.flag, (Integer) data.get(Common.FLAG_BACK)); // 文字列設定 holder.flag.setText((String) data.get(Common.FLAG_TEXT)); return view; } }