【问题标题】:my listview does not print out my array list after importing it from my file从我的文件导入后,我的列表视图没有打印出我的数组列表
【发布时间】:2019-06-19 04:22:20
【问题描述】:

列表视图不显示字符串数组文件,我似乎无法查看用户输入的字符串

public class ReadActivity extends ListActivity {
String[] mStringArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


 ListView listview = getListView();

    FileWritter fl = new FileWritter();
    List<String> mStringList = fl.loadlist2("DiaryNames.txt",this);
    mStringArray = new String[mStringList.size()];
    mStringArray = mStringList.toArray(mStringArray);


   ArrayAdapter<String> adapter = new ArrayAdapter<String> 
   (this,android.R.layout.simple_list_item_1,mStringArray); 

   listview.setAdapter(adapter);
   setListAdapter(adapter);

到目前为止,这是我认为 loadlist2 存在问题的代码,因此这是从 diarynames.txt 导入文件的列表,该文件具有来自另一个函数的输入

    public List<String>  loadlist2(String title, Context context)
{
    List<String> list = new ArrayList<>();
    try {
        BufferedReader in = new BufferedReader(
                new FileReader(title));

        String mystring;
        while ((mystring = in.readLine()) != null) {
            list.add(mystring);
        }
    }
    catch (IOException e) {
        System.out.println("Exception Occurred" + e);
    }
    return list;
}
}

【问题讨论】:

  • 嗨@BabyYakuza! FileWritter 是否与 Android 中的 FileWriter 类相同,还是您编写的(可能扩展了 FileWriter 类)?
  • 嗨@Ashish 这是我制作的一个附加类
  • @BabyYakuza load list2 方法有什么作用??你能显示那个代码吗??
  • @BabyYakuza DiaryNames.txt 里面是什么??
  • 您能否也发布该内容以便它可以提供帮助

标签: java android file android-arrayadapter


【解决方案1】:

你确定你没有得到 System.out.println("Exception Occurred" + e);?

【讨论】:

    【解决方案2】:

    @BabyYakuza - 在我开始回答之前,我想问你; 您能否发布 DiaryNames.txt 文件的内容?如果你没有,你能告诉我们这个文件中文本的格式吗?另外,这个文件在哪里(我的意思是在你的目录结构中)?这是因为,您所做的其他一切似乎都没有问题。

    我在我的 IDE 中运行了您的代码。我正在为 DiaryNames.txt 使用以下内容

    Ashish Raghavan
    Sushant Shivaprasad
    Piyush Murari
    Mohan Nair
    Tushar Nair
    

    当我运行你的代码时,

    List<String> list = new ArrayList<>();
    try {
        BufferedReader in = new BufferedReader(
                new FileReader(title));
    
        String mystring;
        while ((mystring = in.readLine()) != null) {
            list.add(mystring);
        }
    }
    catch (IOException e) {
        System.out.println("Exception Occurred" + e);
    }
    return list;
    

    我得到了 5 个字符串的正确输出,如文件 DiaryNames.txt 中提到的名称数量。

    此外,您不需要 loadlist2 中的 context 参数,因为您没有在任何地方使用它。无论如何,这是我的 pastebin 代码 Main methodFileWritter.java。 如果您使用此代码,请修改 DiaryNames.txt 文件的路径。另外,我没有在 loadlist2() 方法中传递任何内容,因为它始终是文件名 DiaryNames.txt 和 Context 变量,在该方法中未使用。

    很可能,DiaryNames.txt 中的文本格式不是您所期望的。如果您可以发布 DiaryNames.txt 文件的一些示例内容,那将真正帮助我们帮助您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多