Java 将对象从另一个类添加到arraylist

Java 将对象从另一个类添加到arraylist,java,android,object,arraylist,Java,Android,Object,Arraylist,我有个问题。我想添加一个名为Transactions的对象,即: public class Transaction { private float value; private int transaction_date; private String description; public Transaction(float value, int transaction_date, String description){ super(); this.value = value

我有个问题。我想添加一个名为
Transactions
的对象,即:

public class Transaction {
private float value;
private int transaction_date;
private String description;

public Transaction(float value, int transaction_date, String description){
    super();
    this.value = value;
    this.transaction_date = transaction_date;
    this.description = description;
}

public float getValue(){
    return value;
}
public int getTransaction_date(){
    return transaction_date;
}
public String getDescription(){
    return description;
}
到我的
主活动中的
阵列列表
。 好吧,到目前为止没什么问题。但是,我如何从另一个需要设置所需变量(在我的例子中是值、事务日期和描述)的活动中实现这一点? 这是我想设置值的活动(是的,我知道还没有变量输入):

公共类AddMoneyTransaction扩展了AppCompatActivity{
编辑文本保存输入6;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u add\u money\u transaction);
//交易清单
populateTransactionList();
populateListView();
//设置按钮
按钮添加按钮;
addDepositButton=(按钮)findViewById(R.id.addDepositButton);
//让它工作
addDepositButton.setOnClickListener(
新建视图。OnClickListener()
{
公共void onClick(视图){
}
});
}
//填充的事务列表
受保护的void populateransactionlist(){
新增(新交易(1,19,“周一”);
新增(新交易(2,20,“星期二”);
新增(新交易(3,21,“星期三”);
}
//填充列表视图
私有void populateListView(){
ArrayAdapter=新资产概述。LastTransactionListAdapter();
ListView列表=(ListView)findViewById(R.id.last\u transactions\u ListView);
list.setAdapter(适配器);
}
私有类LastTransactionListAdapter扩展了ArrayAdapter{
公共LastTransactionListAdapter(){
super(AddMoneyTransaction.this,R.layout.transaction\u list\u视图,myTransactions);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//确保有要使用的视图(可能为空)
视图项视图=转换视图;
如果(itemView==null){
itemView=GetLayoutFlater()。充气(R.layout.transaction\u list\u视图,父视图,false);
}
//查找要使用的事务
Transaction currentTransaction=myTransactions.get(位置);
//填充视图:
//价值观
TextView valueView=(TextView)itemView.findViewById(R.id.transactionValueView);
valueView.setText(currentTransaction.getValue()+“$”);
//日期
TextView dateView=(TextView)itemView.findViewById(R.id.transactionDateView);
dateView.setText(currentTransaction.getTransaction_date()+);
//描述
TextView descriptionView=(TextView)itemView.findViewById(R.id.TransactionDescriptionView);
descriptionView.setText(currentTransaction.getDescription());
返回项目视图;
}
}
我希望有人能在这方面帮助我,因为我没有发现任何有用的东西。如果您需要更多信息,请告诉我…

我假设您的myTransactions列表是在父类AppCompatActivity中定义的。中的问题

addDepositButton.setOnClickListener(
        new View.OnClickListener()
        {
            public void onClick(View view)
            {

            }
        });
似乎myTransactions并没有被定义为最终变量

创建新的匿名OnClickListener时,如果在onClick方法中使用myTransactions,编译器将向OnClickListener构造函数提供对myTransactions的引用。此myTransactions以后不能更改,因此必须是最终的

因此,对于解决方案,我将尝试在myTransactions的定义中添加final关键字。

我假设您的myTransactions列表是在父类AppCompatActivity中定义的。中的问题

addDepositButton.setOnClickListener(
        new View.OnClickListener()
        {
            public void onClick(View view)
            {

            }
        });
似乎myTransactions并没有被定义为最终变量

创建新的匿名OnClickListener时,如果在onClick方法中使用myTransactions,编译器将向OnClickListener构造函数提供对myTransactions的引用。此myTransactions以后不能更改,因此必须是最终的


因此,对于解决方案,我会尝试在myTransactions的定义中添加final关键字。

我不能这样做,因为我的ArrayList放在我的MainActivity中,而不是AddMoneyTransaction类中。它只是将对象添加到MainActivity中。然后制作另一个变量myTransactions2,将其标记为final,值等于myTransactions。然后使用该.Hack。我不能这样做,因为我的ArrayList放在我的MainActivity中,而不是AddMoneyTransaction类中。它只是用来向MainActivity添加对象。然后创建另一个变量myTransactions2,将其标记为final,并将其值等于myTransactions。然后使用该.Hack。