私のデータにアクセスするためにMatrixCursor
を作成しました。 4列あります。そして、私はListView
を持っています。各行には3つの要素があります(そのうちの1つはImageView
です。実際は2列しか必要ありません)。これはカーソルで初めてのことですので、どのアダプタがこれを行うのに最適ですか?これはこれまでの私の仕事です。MatrixカーソルからListViewを取り込む方法
MatrixCursor:
static MatrixCursor getnameList() {
ArrayList<String> fsitem = getfsiList();
String[] columnNames = {"id", "name", "info","icon"};
MatrixCursor cursor = new MatrixCursor(columnNames);
for (int i = 0; i < fsitem.size(); i++) {
try {
File root = new File(Environment.getExternalStorageDirectory()
.getName() + "/" + fsitem.get(i));
if (root.canRead()) {
File namefile = new File(root, ".name");
FileReader namereader = new FileReader(namefile);
BufferedReader in = new BufferedReader(namereader);
String id = in.readLine();
String name = in.readLine();
String info = in.readLine();
String[] fsii = new String[4];
fsii[0]= id;
fsii[1]= name;
fsii[2]= info;
fsii[3]= null;
cursor.addRow(fsii);
}
} catch (IOException e) {
Log.e("NameManager.java : ", ("Error!! Not Writable!!"
+ Environment.getExternalStorageDirectory().getName()
+ "/" + fsitem.get(i)));
}
}
Log.d("NameManager.getnameList()",cursor.toString());
return cursor;
}
row.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="8dp" >
<ImageView
android:id="@+id/icon"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="10dp"
android:layout_marginTop="4dp"
android:src="@drawable/list_icon" >
</ImageView>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:layout_marginLeft="38dp"
android:textStyle="bold" />
<TextView
android:id="@+id/Info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/info"
android:textSize="16dp"
android:textStyle="bold" />
</RelativeLayout>
ありがとうございました。でも、私のCursorには_id列がありません。どうすれば修正できますか? –
@BinoyBabu私は自分の答えを編集しました。 – Luksprog