我正在创建一个财务Android应用,它将打开并要求用户添加一个帐户。 (这在页面上始终是静态的。)在Main活动上,Button旁边会有一个EditText框(“添加帐户”)。按下Button时,我想创建一个新的Object,然后将其存储到ArrayList中。帐户列表(如果已添加)将在下面循环(使用相应的动态按钮编辑帐户)。这是我的练习/未完成的代码。这点非常原始!
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 :(得分: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中存储以供日后使用等等......
希望这会有所帮助......