Как уведомить об изменении элементов RecyclerViewAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как уведомить об изменении элементов RecyclerView

Сообщение Anonymous »

Вот моя проблема:

У меня есть 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»