在我的应用中,我有一个列表视图,
该视图由字符串数组填充
这是代码和解释,以帮助你们
所以字符串是
StaffList= Client + " Rates: " + Rates + " " + Staff + " Budget Hours: " + BudgetHoursPassData + " Member Budget: " + MemberBudgetPassData + "Notes" + NotesPassData;
然后将该字符串添加到数组
StaffArray.add(StaffList);
然后使用意图将此数组传递给另一个活动,并显示在列表视图中
public void PassData(){
Intent GoToReport=new Intent(getApplicationContext(), createProject.class);
MemberBudgetPassData= MemberBudget.getText().toString();
BudgetHoursPassData = budgetHours.getText().toString();
NotesPassData= Notes.getText().toString();
Toasty.info(popupActivity.this, StaffArray.toString(),Toasty.LENGTH_LONG).show();
GoToReport.putStringArrayListExtra("Array",StaffArray);
startActivity(GoToReport);
Animatoo.animateCard(popupActivity.this);
}
这是适配器
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);
}
现在,您可以返回同一活动并将第二个Item添加到数组中
public void DialogBuilder(){
Intent GoToReport=new Intent(getApplicationContext(), popupActivity.class);
GoToReport.putStringArrayListExtra("Array", Array);
startActivity(GoToReport);
Animatoo.animateCard(createProject.this);
}
所以现在我的问题是列表用上面的代码填充得很好
但是随着我尽快在字符串中添加一个System.getProperty("line.separator")
或" \n "
StaffList= Client + "\n"+ " Rates: " + Rates + "\n"+ " " + Staff + "\n"+ " Budget Hours: " + BudgetHoursPassData + "\n"+ " Member Budget: " + MemberBudgetPassData + "\n"+ "Notes" + NotesPassData;
第二个列表/第三等项目不填充,所以只有第一项显示在列表中,但没有/n
或System.getProperty("line.separator")
所有的项目都显示
我通过将Listview更改为Spinner并调用了Spinner适配器来解决了这个问题
StaffList.setAdapter(new ArrayAdapter<>(createProject.this, android.R.layout.simple_spinner_dropdown_item, Array));