mirror of
https://github.com/nerzhul/ownCloud-SMS-App.git
synced 2025-06-26 09:16:15 +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