From 4bf0073d6f0935f620a69d8dacd50e45408feddf Mon Sep 17 00:00:00 2001
From: Loic Blot <loic.blot@unix-experience.fr>
Date: Fri, 15 May 2015 09:53:12 +0200
Subject: [PATCH] Add onclicklistener on AndroidAccountAdapter. This permit to
 launch another activity based on this account

---
 .../adapters/AndroidAccountAdapter.java       | 24 +++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/fr/nrz/androidlib/adapters/AndroidAccountAdapter.java b/src/fr/nrz/androidlib/adapters/AndroidAccountAdapter.java
index 418b321..773f61c 100644
--- a/src/fr/nrz/androidlib/adapters/AndroidAccountAdapter.java
+++ b/src/fr/nrz/androidlib/adapters/AndroidAccountAdapter.java
@@ -3,9 +3,13 @@ package fr.nrz.androidlib.adapters;
 import java.util.ArrayList;
 
 import android.accounts.Account;
+import android.app.Activity;
 import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
 import android.widget.TextView;
@@ -15,13 +19,17 @@ public class AndroidAccountAdapter extends ArrayAdapter<Account> {
 	private final ArrayList<Account> _accounts;
 	private static int _itemLayout;
 	private static int _accountFieldId;
+	private final Activity _activity;
+	Class<?> _newActivityClass;
 
-	public AndroidAccountAdapter(final Context context, final int resource,
-			final ArrayList<Account> objects, final int itemLayout, final int accountFieldId) {
-		super(context, resource, objects);
+	public AndroidAccountAdapter(final Activity activity, final int resource,
+			final ArrayList<Account> objects, final int itemLayout, final int accountFieldId, final Class<?> newActivityClass) {
+		super(activity.getBaseContext(), resource, objects);
 		_accounts = objects;
 		_itemLayout = itemLayout;
 		_accountFieldId = accountFieldId;
+		_activity = activity;
+		_newActivityClass = newActivityClass;
 	}
 
 	@Override
@@ -37,7 +45,15 @@ public class AndroidAccountAdapter extends ArrayAdapter<Account> {
 		if (account != null) {
 			final TextView label = (TextView) v.findViewById(_accountFieldId);
 			if (label != null) {
-				label.setText(account.name + "  -->");
+				label.setText(account.name + " >");
+				label.setOnClickListener(new OnClickListener() {
+					@Override
+					public void onClick(final View v) {
+						final Bundle bdl = new Bundle();
+						bdl.putString("account",account.name);
+						_activity.startActivity(new Intent(_activity, _newActivityClass), bdl);
+					}
+				});
 			}
 		}