Ich habe ein Problem. Ich möchte ein Objekt hinzufügen namens Transactions
die dieses ist:Objekt zu Arraylist aus einer anderen Klasse hinzufügen
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;
}
zu einem ArrayList
in meinem main activity
. Okay, soweit nicht so ein Problem. Aber wie kann ich das von einer anderen Aktivität aus machen, wo ich die benötigten Variablen einstellen möchte (in meinem Fall den Wert, transaction_date und die Beschreibung)? Hier ist meine Aktivität, wo ich die Werte einstellen wollen (ja ich weiß, dass es keine variable Eingaben noch):
public class AddMoneyTransaction extends AppCompatActivity {
EditText depositInputSix;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_money_transaction);
//transaction list
populateTransactionList();
populateListView();
//setup the button
Button addDepositButton;
addDepositButton = (Button)findViewById(R.id.addDepositButton);
//make it work
addDepositButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view) {
}
});
}
//populated transaction list
protected void populateTransactionList() {
myTransactions.add(new Transaction(1,19,"monday"));
myTransactions.add(new Transaction(2,20,"tuesday"));
myTransactions.add(new Transaction(3,21,"wednesday"));
}
//populated list view
private void populateListView() {
ArrayAdapter<Transaction> adapter = new AssetsOverview.LastTransactionsListAdapter();
ListView list = (ListView) findViewById(R.id.last_transactions_listView);
list.setAdapter(adapter);
}
private class LastTransactionsListAdapter extends ArrayAdapter<Transaction>{
public LastTransactionsListAdapter(){
super(AddMoneyTransaction.this, R.layout.transaction_list_view, myTransactions);
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
//make sure there is a view to work with (maybe null)
View itemView = convertView;
if (itemView == null){
itemView = getLayoutInflater().inflate(R.layout.transaction_list_view, parent, false);
}
//find a transaction to work with
Transaction currentTransaction = myTransactions.get(position);
// fill the view:
// value
TextView valueView = (TextView) itemView.findViewById(R.id.transactionValueView);
valueView.setText(currentTransaction.getValue() + "$");
// date
TextView dateView = (TextView) itemView.findViewById(R.id.transactionDateView);
dateView.setText(currentTransaction.getTransaction_date() + "");
// description
TextView descriptionView = (TextView) itemView.findViewById(R.id.transactionDesciptionView);
descriptionView.setText(currentTransaction.getDescription());
return itemView;
}
}
Ich hoffe jemand bitte mir dabei helfen kann, da ich nicht geholfen etwas gefunden hat. Bitte sagen Sie mir, wenn Sie weitere Informationen benötigen ...
Ich kann dies nicht tun, weil meine ArrayList in meine MainActivity platziert ist, nicht in der AddMoneyTransaction-Klasse. Es ist nur dazu gedacht, Objekte zur MainActivity hinzuzufügen. –
Dann machen Sie eine andere Variable myTransactions2, markieren Sie sie als final und value gleich myTransactions. Dann benutze das. Hacken. –