package com.vaguehope.onosendai.config; import java.util.ArrayList; import java.util.Collection; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.vaguehope.onosendai.R; public class AccountAdaptor extends BaseAdapter { private final LayoutInflater layoutInflater; private final List<Account> accounts; public AccountAdaptor (final Context context, final Collection<Account> accounts) { this.layoutInflater = LayoutInflater.from(context); this.accounts = new ArrayList<Account>(accounts); } public int getAccountPosition (final Account account) { return this.accounts.indexOf(account); } public Account getAccount (final int position) { return this.accounts.get(position); } @Override public int getCount () { return this.accounts.size(); } @Override public Object getItem (final int position) { return this.accounts.get(position); } @Override public long getItemId (final int position) { return position; } @Override public View getView (final int position, final View convertView, final ViewGroup parent) { View view = convertView; AccountAdaptor.AccountRowView rowView; if (view == null) { view = this.layoutInflater.inflate(R.layout.accountlistrow, null); rowView = new AccountRowView((TextView) view); view.setTag(rowView); } else { rowView = (AccountAdaptor.AccountRowView) view.getTag(); } final Account account = this.accounts.get(position); rowView.getMain().setText(account.getUiTitle()); return view; } private static class AccountRowView { private final TextView main; public AccountRowView (final TextView main) { this.main = main; } public TextView getMain () { return this.main; } } }