【问题标题】: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;

列表中的第二个/第三个等项目没有填充,因此只有第一个项目显示在列表中但没有 /nSystem.getProperty("line.separator") 显示所有项目

【问题讨论】:

  • 我认为您应该创建自己的布局和适配器来显示列表。
  • 我尝试了自定义布局导致同样的问题,现在尝试自定义适配器

标签: android listview android-intent android-adapter


【解决方案1】:

我通过将 Listview 更改为 A Spinner 解决了这个问题 并调用微调器适配器

  StaffList.setAdapter(new ArrayAdapter<>(createProject.this, android.R.layout.simple_spinner_dropdown_item, Array));

【讨论】:

    【解决方案2】:

    改用Environment.NewLine

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 2016-02-03
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 2011-02-28
      相关资源
      最近更新 更多