【发布时间】:2020-05-08 14:07:03
【问题描述】:
在我的应用程序中,您可以创建一个工作项目,添加客户名称、预算等。 出于 UI 目的,员工的添加是在单独的活动中进行的
现在我的问题是我通过 INTENT 在活动之间传递数组中的数据 然后将该数据显示在列表视图中
现在我正在苦苦挣扎的是,每次我想向数组添加新数据时,数组都会返回空白,然后只显示新数据
所以基本上你将员工数据添加到一个数组中,它会转到另一个活动并通过意图传递该数组并在 ListView 中显示
但它只显示数组中的新数据
我想要实现的是数组中的旧数据不能消失,新数据必须只是添加到数组中而不是创建新数组 从而显示新旧数据
活动 1 代码
这会将数据传递给另一个活动并启动另一个活动
AddStaff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MemberBudgetPassData= MemberBudget.getText().toString();
BudgetHoursPassData = budgetHours.getText().toString();
StaffList = Client + Rates + Staff + BudgetHoursPassData + MemberBudgetPassData;
StaffArray.add(StaffList);
PassData();
}
});
public void PassData(){
Intent GoToReport=new Intent(getApplicationContext(), createProject.class);
MemberBudgetPassData= MemberBudget.getText().toString();
BudgetHoursPassData = budgetHours.getText().toString();
Toasty.info(popupActivity.this, StaffArray.toString(),Toasty.LENGTH_LONG).show();
GoToReport.putStringArrayListExtra("Array",StaffArray);
startActivity(GoToReport);
Animatoo.animateCard(popupActivity.this);
}
活动 2
在这里它检索数据并将其显示在列表视图中
Array = new ArrayList<>();
Array = getIntent().getStringArrayListExtra("Array");
final ArrayAdapter arrayAdapter =new ArrayAdapter<>
(this, android.R.layout.simple_list_item_1, Array);
if (Array == null)
{
Toasty.info(createProject.this,"Select a Staff Memebr",Toasty.LENGTH_LONG).show();
}
else
{
StaffListView.setAdapter(arrayAdapter);
}
【问题讨论】:
标签: java android arrays arraylist android-intent