Пишу вот файловый менеджер, но в ходе разработки возникла небольшая трудность.
Код моего адаптера
Код: Выделить всё
ListView listView = (ListView) findViewById(R.id.listView1);
catList = new ArrayList<HashMap<String, Object>>(); // создаем массив
// списков
HashMap<String, Object> hm;
Sort();
for (int i = 0; i < pos; i++) {
hm = new HashMap<String, Object>();
hm.put(TITLE, mSign[i]); // Название
hm.put(DESCRIPTION_0, mDate[i]); // Описание
hm.put(DESCRIPTION_1, mData[i]);
hm.put(ICON, mImage[i]); // Картинка
catList.add(hm);
}
SimpleAdapter adapter = new SimpleAdapter(this, catList, R.layout.item,
new String[] { TITLE, DESCRIPTION_0, DESCRIPTION_1, ICON },
new int[] { R.id.sign, R.id.date, R.id.data, R.id.icon });
Parcelable state = listView.onSaveInstanceState();
listView.setAdapter(adapter);
listView.onRestoreInstanceState(state);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new MultiChoiceModeListener() {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.context, menu);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Log.d(LOG_TAG, "item " + item.getTitle());
mode.finish();
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public void onItemCheckedStateChanged(ActionMode mode,
int position, long id, boolean checked) {
//mode.finish();
//mFile = dirPath + "/" + mSign[position];
// pFile = position;
//showDialog(IDD_SEE);
Log.d(LOG_TAG, "onItemLongClick position = " + position
+ ", checked = " + checked);
}
});
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.d(LOG_TAG, "onItemClick " + position);
ListClick(position);
}
});Если не сложно, помогите советом.