System.getProperty("line.separator") 和 "\n" 导致列表视图不填充
Posted
技术标签:
【中文标题】System.getProperty("line.separator") 和 "\\n" 导致列表视图不填充【英文标题】:System.getProperty("line.separator") and " \n " Causes listview not to populateSystem.getProperty("line.separator") 和 "\n" 导致列表视图不填充 【发布时间】:2020-05-16 22:09:13 【问题描述】:在我的应用中,我有一个列表视图,
视图由字符串数组填充
这里是帮助你们的代码和解释
所以字符串是
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);
现在您可以返回相同的活动并向数组添加第二个项目
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")
显示所有项目
【问题讨论】:
我认为您应该创建自己的布局和适配器来显示列表。 我尝试了自定义布局导致同样的问题,现在尝试自定义适配器 【参考方案1】:我通过将 Listview 更改为 A Spinner 解决了这个问题 并调用微调器适配器
StaffList.setAdapter(new ArrayAdapter<>(createProject.this, android.R.layout.simple_spinner_dropdown_item, Array));
【讨论】:
【参考方案2】:改用Environment.NewLine
。
【讨论】:
以上是关于System.getProperty("line.separator") 和 "\n" 导致列表视图不填充的主要内容,如果未能解决你的问题,请参考以下文章
System.getProperty("line.separator"); 之间的区别和“\n”?
System.getProperty("line.separator") 和 "\n" 导致列表视图不填充
System.getProperty("user.dir"); 获得系统属性
由System.getProperty("user.dir")引发的联想