コンプレックスを使用していListView
ます。ImageView
s とsを持っている子TextView
です。SimpleCursorAdapter の bindView() メソッドをオーバーライドして、これらのウィジェットにデータを設定しています。コードは次のとおりです。
public void bindView(View view, Context mContext, Cursor cursor) {
super.bindView(view, mContext, cursor);
String vdstatus = cursor.getString(6);
String mbpath = sdpath + propmanager.mbActivePath();
String vspath = cursor.getString(7);
TextView status = (TextView) view.findViewById(R.id.status);
TextView name = (TextView) view.findViewById(R.id.name);
ImageView i = (ImageView) view.findViewById(R.id.icon);
if (vdstatus == "false") {
status.setTextColor(Color.RED);
} else {
status.setTextColor(Color.parseColor("#4B8A08"));
}
if (mbpath.equals(vspath)) {
name.setTextColor(Color.RED);
}
switch (Integer.parseInt(cursor.getString(4))) {
case 0: {
Drawable drawable = mContext.getResources().getDrawable(
R.drawable.a2s_icon);
i.setImageDrawable(drawable);
break;
}
.....
.....
.....
default: {
Drawable drawable = mContext.getResources().getDrawable(
R.drawable.cid);
i.setImageDrawable(drawable);
break;
}
}
}
アダプターの設定方法は次のとおりです。
MatrixCursor cursor;
cursor = datasource.getnameList();
startManagingCursor(cursor);
String[] from = { "name", "desc", "status", "path", "folder",
BaseColumns._ID };
int[] to = { R.id.name, R.id.desc, R.id.status, R.id.path };
final CustomSCAdapter adapter = new CustomSCAdapter(
MultiBootManager.this, R.layout.row, cursor, from, to);
setListAdapter(adapter);
私が抱えている問題は、スクロールListView
が非常にぎこちないことです。ここで同様の質問をいくつか見つけましたが、どれもうまくいきませんでした。このぎくしゃくを防ぐにはどうすればよいですか?