1
0
mirror of https://github.com/nerzhul/nrz-androidlib.git synced 2025-06-07 07:56:28 +00:00

Add AndroidAccountAdapter which permit to generate an account listview directly by creating this adapter and passing a android listview resource and item layout

This commit is contained in:
Loic Blot 2015-05-03 19:53:00 +02:00
parent f4497ce993
commit ba2b4a8980

View File

@ -0,0 +1,47 @@
package fr.nrz.androidlib.adapters;
import java.util.ArrayList;
import android.accounts.Account;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class AndroidAccountAdapter extends ArrayAdapter<Account> {
private final ArrayList<Account> _accounts;
private static int _itemLayout;
private static int _accountFieldId;
public AndroidAccountAdapter(final Context context, final int resource,
final ArrayList<Account> objects, final int itemLayout, final int accountFieldId) {
super(context, resource, objects);
_accounts = objects;
_itemLayout = itemLayout;
_accountFieldId = accountFieldId;
}
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
View v = convertView;
if (v == null) {
final LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(_itemLayout, null);
}
final Account account = _accounts.get(position);
if (account != null) {
final TextView label = (TextView) v.findViewById(_accountFieldId);
if (label != null) {
label.setText(account.name + " -->");
}
}
return v;
}
}