mirror of
				https://github.com/nerzhul/ownCloud-SMS-App.git
				synced 2025-10-31 10:27:21 +00:00 
			
		
		
		
	Proper account list creation
This commit is contained in:
		
							parent
							
								
									d39e314707
								
							
						
					
					
						commit
						21c10614e2
					
				
							
								
								
									
										13
									
								
								res/layout/account_list_item.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								res/layout/account_list_item.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent" > | ||||||
|  |     <TextView | ||||||
|  | 		android:id="@+id/accountname" | ||||||
|  | 		android:layout_width="wrap_content" | ||||||
|  | 		android:layout_height="wrap_content" | ||||||
|  | 		android:padding="20dp" | ||||||
|  | 		android:textSize="18sp" | ||||||
|  |    /> | ||||||
|  | 
 | ||||||
|  | </RelativeLayout> | ||||||
| @ -2,28 +2,41 @@ package fr.unix_experience.owncloud_sms.activities; | |||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| 
 | 
 | ||||||
|  | import android.accounts.Account; | ||||||
|  | import android.accounts.AccountManager; | ||||||
| import android.app.ListActivity; | import android.app.ListActivity; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.widget.ArrayAdapter; |  | ||||||
| import fr.unix_experience.owncloud_sms.R; | import fr.unix_experience.owncloud_sms.R; | ||||||
|  | import fr.unix_experience.owncloud_sms.adapters.AndroidAccountAdapter; | ||||||
| 
 | 
 | ||||||
| public class RestoreSMSAccountListActivity extends ListActivity { | public class RestoreSMSAccountListActivity extends ListActivity { | ||||||
| 	ArrayList<String> listItems = new ArrayList<String>(); | 	ArrayList<Account> listItems = new ArrayList<Account>(); | ||||||
| 	ArrayAdapter<String> adapter; | 	AndroidAccountAdapter adapter; | ||||||
|  | 
 | ||||||
|  | 	private static String _accountType; | ||||||
|  | 	private static AccountManager _accountMgr; | ||||||
| 
 | 
 | ||||||
| 	@Override | 	@Override | ||||||
| 	public void onCreate(final Bundle icicle) { | 	public void onCreate(final Bundle icicle) { | ||||||
| 		super.onCreate(icicle); | 		super.onCreate(icicle); | ||||||
|  | 
 | ||||||
|  | 		_accountType = getString(R.string.account_type); | ||||||
|  | 		_accountMgr = AccountManager.get(getBaseContext()); | ||||||
|  | 
 | ||||||
| 		setContentView(R.layout.restore_activity_accountlist); | 		setContentView(R.layout.restore_activity_accountlist); | ||||||
| 		adapter = new ArrayAdapter<String>(this, | 		adapter = new AndroidAccountAdapter(this, | ||||||
| 				android.R.layout.simple_list_item_1, | 				android.R.layout.simple_list_item_1, | ||||||
| 				listItems); | 				listItems, | ||||||
|  | 				R.layout.account_list_item, | ||||||
|  | 				R.id.accountname); | ||||||
| 		setListAdapter(adapter); | 		setListAdapter(adapter); | ||||||
| 
 | 
 | ||||||
| 		listItems.add("test"); | 		final Account[] myAccountList = _accountMgr.getAccountsByType(_accountType); | ||||||
| 		listItems.add("test2"); | 		for (final Account element : myAccountList) { | ||||||
| 		listItems.add("test3"); | 			listItems.add(element); | ||||||
| 		listItems.add("test4s"); | 		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 		adapter.notifyDataSetChanged(); | 		adapter.notifyDataSetChanged(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -0,0 +1,47 @@ | |||||||
|  | package fr.unix_experience.owncloud_sms.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; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user