【问题标题】:Putting constantly "changing" text files into a list view将不断“变化”的文本文件放入列表视图
【发布时间】:2013-10-20 17:12:57
【问题描述】:

我正在尝试构建一个笔记应用程序。我的问题是在主页的列表中显示文本文件(.txt)。该列表应显示注释的标题和内容。但我不知道如何编写自定义适配器。

文件保存如下:

final EditText title = (EditText) findViewById(R.id.title);
final EditText note = (EditText) findViewById(R.id.note);

String head = title.getText().toString();
String body = note.getText().toString();
String fullnote = body + "\n" + head;

try {
FileOutputStream fo = openFileOutput(head + ".txt", Context.MODE_APPEND);
fo.write(fullnote.getBytes());
fo.write("\n".getBytes());
fo.write("\n".getBytes());
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
    e.printStackTrace();
}
catch (IOException e) {
    // TODO Auto-generated catch block
e.printStackTrace();
}

现在我想在列表视图中加载这些文件:

String[] listItems = {"Item 1", "Item 2", "etc.",};
ListView lv = (ListView) findViewById(R.id.mainpage_list);
lv.setAdapter(new ArrayAdapter<String>
(this, android.R.layout.simple_list_item_1, listItems));

“第 1 项”、“第 2 项”和“等”。只是占位符。

我希望文件名是项目,文件的内容是子项目。 我以前从未使用过 ListViews 和 Adapters,所以我有点无能为力。 提前致谢。

【问题讨论】:

    标签: java android xml list layout


    【解决方案1】:

    如果你想追求简单,我建议:

    • 将每条笔记都设为单独的文件。
    • 将文件名作为注释的标题(一定要清理它,这样人们就不会在其中放置诸如“..”之类的东西来操纵路径)。

    这将很容易实现和处理。如果您需要做更多花哨的事情(例如,跟踪历史),那么您需要重新审视结构。但是根据您的要求,我会选择上述内容。

    【讨论】:

    • 首先谢谢你。我仍然不知道如何在没有硬编码的情况下制作列表。那你会怎么做呢?
    • 它不能被硬编码,因为标题显然是由用户可变的。
    • 听起来如你所愿:File[] files = new File("/path/to/your/notes/").listFiles(); 这将为你提供一个可以使用的 File 对象数组。
    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多