Вот моя проблема:
У меня есть AlbumActivity, в котором перечислены все названия альбомов с помощью RecyclerView.
При нажатии на один элемент он перейдет в ImagesActivity, где будут перечислены все изображения внутри альбома. Я также использовал RecyclerView. ImagesActivity имеет меню панели инструментов, в котором можно добавить несколько изображений на случай, если пользователь захочет добавить в альбом еще одно изображение. При нажатии на меню откроется другое действие для добавления пути к изображениям в базу данных.
Моя проблема в том, что когда я возвращаюсь к ImagesActivity, изображения не появляются. Изображения появятся только тогда, когда я снова зайду в AlbumActivity, чтобы снова просмотреть изображения альбома. Как я могу быстро уведомить об изменении в ImagesActivity.
Вот мой адаптер:
public class ImageAdapter extends RecyclerView.Adapter {
static List dbList;
static Context context;
ImageAdapter(Context context, List dbList) {
this.dbList = new ArrayList();
this.context = context;
this.dbList = dbList;
}
@Override
public ImageAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.item_image, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ImageAdapter.ViewHolder holder, int position) {
File imageFile = new File(dbList.get(position).getPath());
if(imageFile.exists()){
Bitmap img = decodeBitmapWithSize(dbList.get(position).getPath(),300,150, true);
holder.imageGallery.setImageBitmap(img);
}else{
holder.imageGallery.setImageResource(R.drawable.not_found);
}
}
@Override
public int getItemCount() {
return dbList.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public ImageView imageGallery;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
imageGallery = (ImageView) itemLayoutView.findViewById(R.id.img_row);
itemLayoutView.setOnClickListener(this);
itemLayoutView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(context,"Delete Image",Toast.LENGTH_LONG).show();
return true;
}
});
}
@Override
public void onClick(View v) {
}
}
Подробнее здесь: https://stackoverflow.com/questions/395 ... view-items
Как уведомить об изменении элементов RecyclerView ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1763121790
Anonymous
Вот моя проблема:
У меня есть AlbumActivity, в котором перечислены все названия альбомов с помощью RecyclerView.
При нажатии на один элемент он перейдет в ImagesActivity, где будут перечислены все изображения внутри альбома. Я также использовал RecyclerView. ImagesActivity имеет меню панели инструментов, в котором можно добавить несколько изображений на случай, если пользователь захочет добавить в альбом еще одно изображение. При нажатии на меню откроется другое действие для добавления пути к изображениям в базу данных.
Моя проблема в том, что когда я возвращаюсь к ImagesActivity, изображения не появляются. Изображения появятся только тогда, когда я снова зайду в AlbumActivity, чтобы снова просмотреть изображения альбома. Как я могу быстро уведомить об изменении в ImagesActivity.
[b]Вот мой адаптер:[/b]
public class ImageAdapter extends RecyclerView.Adapter {
static List dbList;
static Context context;
ImageAdapter(Context context, List dbList) {
this.dbList = new ArrayList();
this.context = context;
this.dbList = dbList;
}
@Override
public ImageAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.item_image, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ImageAdapter.ViewHolder holder, int position) {
File imageFile = new File(dbList.get(position).getPath());
if(imageFile.exists()){
Bitmap img = decodeBitmapWithSize(dbList.get(position).getPath(),300,150, true);
holder.imageGallery.setImageBitmap(img);
}else{
holder.imageGallery.setImageResource(R.drawable.not_found);
}
}
@Override
public int getItemCount() {
return dbList.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public ImageView imageGallery;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
imageGallery = (ImageView) itemLayoutView.findViewById(R.id.img_row);
itemLayoutView.setOnClickListener(this);
itemLayoutView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(context,"Delete Image",Toast.LENGTH_LONG).show();
return true;
}
});
}
@Override
public void onClick(View v) {
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/39598690/how-to-notify-the-change-in-recyclerview-items[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия