2012-03-14 4 views
1

Я создаю приложение для Android для финансов, которое откроется и попросит пользователя добавить учетную запись. (Это всегда будет статично на странице.) В Основной деятельности у него будет окно EditText рядом с кнопкой («Добавить учетную запись»). Когда кнопка нажата, я хочу, чтобы новый объект был создан, и затем он будет сохранен в ArrayList. Список учетных записей (по мере их добавления) будет затем зациклирован ниже (с соответствующими динамическими кнопками для редактирования учетной записи). Это моя практика/незавершенный код. В этот момент это очень грубо!Динамически называют объекты на основе ввода EditText?

String accountName = (Whatever is in EditText Box) 

ArrayList<Accounts> accountList = new ArrayList<Accounts>(); 
int accountListSize = accountList.size(); 

(Button on Click) { 
    Account{accountName} = new Account(); // Not sure how to dynamically name 
    accountList.add({accountName}) // Not sure how to dynamically name 
} 

// iterate through finance loop 

for(int i = 0; i < accountList .size(); i++) 
{ 
    // do stuff - Create Dynamicly Edit and Clear Buttons for each account 
} 

Одна из больших проблем, которую я пытаюсь преодолеть, - как назвать объект динамически?

Я передумал этот процесс в целом и сделал его более трудным, чем должно быть? Я собираюсь создать класс для обработки специфики учетной записи. В конечном итоге я должен хранить данные в памяти - так что, возможно, мне придется отказаться от стиля, ориентированного на объект, и использовать SQLite? Разделяемое предпочтение?

Любые образцы кода были бы замечательными, но я в основном надеюсь найти рекомендуемый метод, который я должен принять.

+0

Я бы рекомендовал использовать SQLite для этого. – TheLastBert

ответ

0

Я бы рекомендовал создать объект Account, который принимает имя в конструкторе. Например:

public class Account { 
    private String name; 

    public Account(String name) { 
     this.name = name; 
    } 

    // ... other account related methods here... 
    public String getName() { 
     return name; 
    } 
} 

Затем в коде выше:

List<Account> accountList = new ArrayList<Account>(); 

(Button on Click) { 
    Account anAccount = new Account(accountName); // accountName taken from text box. 
    accountList.add(anAccount); 
} 

Затем проходным списка учетных записей:

for(Account account : accountList) { 
    String name = account.getName(); 
    // .. do whatever you need to for each account... 
} 

После того как вы этот список объектов Account, вы можете сделать все, что вам нужно сделать с ними, например, хранить в SQLite DB для более поздних версий и т. д.

Надеюсь, это поможет ...

+0

Спасибо, это отличная информация! – KickingLettuce

Смежные вопросы