1
問題があります。私main activity
にArrayList
に別のクラスのarraylistにオブジェクトを追加します。
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;
}
:私はこの1つであるTransactions
名前付きオブジェクトを追加します。 それほど問題はありません。しかし、私は必要な変数(私の場合はvalue、transaction_dateおよびdescription)を設定したい別のアクティビティからこれをどうやって行うことができますか?私は役に立つ何かを見つけることができませんでしたので、誰かがこれで私を助けてくださいことを願って
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;
}
}
: は、ここで私は値(はい、私は何の変数の入力がまだ存在しないことを知っている)を設定したい私の活動です。詳細情報が必要な場合は教えてください...
私のArrayListは、私のMainActivityに配置されているため、AddMoneyTransactionクラスには配置されていないため、これを行うことはできません。 MainActivityにオブジェクトを追加するだけです。 –
次に、別の変数myTransactions2を作成し、finalとmyTransactionsと等しい値をマークします。その後、それを使用します。ハック。 –