我正在尝试从csv文件中提取数据到数组中,然后在列表视图中显示该数组。我几乎在那里(经过大量的搜索/谷歌时间...刚接触Java / android),但无法弄清楚我做错了什么。
我有一个正在加载的文本文件,然后我将内容解压缩到一个名为splitdata的字符串数组中。我希望splitdata数组显示在listview中。
我的代码是:
try {
File myFile = new File("/sdcard/file.txt");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(
new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = "";
while ((aDataRow = myReader.readLine()) != null) {
aBuffer += aDataRow + "\n";
}
// String loadeddata = aBuffer;
String[] splitdata = aBuffer.split(",");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.grid_item, splitdata);
adapter.clear();
adapter.addAll(splitdata);
lvlogbook.setAdapter(adapter);
myReader.close();
当我加载活动时,我只显示空白列表视图。得到的帮助很好(我已经在textview中测试了数组,我想要的数据被分离出来,我认为问题在于我如何用我的数据填充适配器)。
感谢您的帮助。
安迪
答案 0 :(得分:0)
很可能你没有具有ArrayAdapter默认期望的特定id的TextView。
尝试默认布局:
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, splitdata);
或者尝试另一个提供TextView实际ID的构造函数,例如
new ArrayAdapter<String>(this, R.layout.grid_item, R.id.YOURTEXTVIEWID, splitdata);
答案 1 :(得分:0)
这是我正在调用的grid_item.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView android:id="@+id/item1"
android:text="row_id"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="300dip"
android:textColor="#ffffff"
android:textSize="20dp"
android:textStyle="bold"
/>
<TextView android:id="@+id/item2"
android:text="col_1"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="180dip"
android:textColor="#ffffff"
android:textSize="20dp"
android:textStyle="bold"
/>
<TextView android:id="@+id/item3"
android:text="col_2"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="180dip"
android:textColor="#ffffff"
android:textSize="20dp"
android:textStyle="bold"
/>
<TextView android:id="@+id/item4"
android:text="col_3"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="100dip"
android:textColor="#ffffff"
android:textSize="20dp"
android:textStyle="bold"
/>
</LinearLayout>
当我使用listview加载活动时,我得到的只是我必须捕获异常的toast弹出窗口。我很困惑为什么我的listview不起作用。我错过了什么?如果我在适配器上注释掉适配器clear和适配器addAll,那么活动就会在启动时崩溃(意外停止)。