package com.athena.asm.Adapter; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.athena.asm.R; import com.athena.asm.aSMApplication; import com.athena.asm.data.MailBox; public class MailAdapter extends BaseAdapter { private LayoutInflater m_inflater; private MailBox m_mailBox; public MailAdapter(LayoutInflater inflater, MailBox mailBox) { this.m_inflater = inflater; this.m_mailBox = mailBox; } @Override public View getView(int position, View convertView, ViewGroup parent) { View layout = null; if (convertView != null) { layout = convertView; } else { layout = m_inflater.inflate(R.layout.mail_list_section_header, null); } TextView boxNameTextView = (TextView) layout.findViewById(R.id.BoxName); TextView numberTextView = (TextView) layout .findViewById(R.id.mailNumber); boxNameTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, aSMApplication.getCurrentApplication().getGuidanceFontSize()); numberTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, aSMApplication.getCurrentApplication().getGuidanceFontSize()); switch (position) { case 0: boxNameTextView.setText(R.string.mail_inbox); String numberString = m_mailBox.getInboxNumber()+"封 "; if (m_mailBox.isHavingNewMail()) { numberString += "(新)"; } numberTextView.setText(numberString); break; case 1: boxNameTextView.setText(R.string.mail_outbox); numberTextView.setText(m_mailBox.getOutboxNumber()+"封 "); break; case 2: boxNameTextView.setText(R.string.mail_trash); numberTextView.setText(m_mailBox.getTrashboxNumber()+"封 "); break; case 3: boxNameTextView.setText(R.string.mail_write_mail); numberTextView.setText(""); break; case 4: boxNameTextView.setText(R.string.new_at); if (m_mailBox.isHavingNewAt()) { numberTextView.setText("新"); } else { numberTextView.setText(""); } break; case 5: boxNameTextView.setText(R.string.new_reply); if (m_mailBox.isHavingNewReply()) { numberTextView.setText("新"); } else { numberTextView.setText(""); } break; default: break; } if (aSMApplication.getCurrentApplication().isNightTheme()) { boxNameTextView.setTextColor(layout.getResources().getColor(R.color.status_text_night)); numberTextView.setTextColor(layout.getResources().getColor(R.color.status_text_night)); } return layout; } @Override public int getCount() { return 6; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } }