mirror of
https://github.com/readrops/Readrops.git
synced 2025-02-07 15:38:38 +01:00
Use ListAdapter instead of FastAdadpter, fixes some update bugs
This commit is contained in:
parent
95a50a4787
commit
f8054d14a9
@ -19,7 +19,7 @@ import com.mikepenz.fastadapter.commons.utils.DiffCallback;
|
|||||||
import com.mikepenz.fastadapter.commons.utils.FastAdapterDiffUtil;
|
import com.mikepenz.fastadapter.commons.utils.FastAdapterDiffUtil;
|
||||||
import com.readrops.app.database.entities.Folder;
|
import com.readrops.app.database.entities.Folder;
|
||||||
import com.readrops.app.views.EditFeedDialog;
|
import com.readrops.app.views.EditFeedDialog;
|
||||||
import com.readrops.app.views.FeedWithFolderItem;
|
import com.readrops.app.views.FeedsAdapter;
|
||||||
import com.readrops.app.viewmodels.ManageFeedsViewModel;
|
import com.readrops.app.viewmodels.ManageFeedsViewModel;
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.app.database.pojo.FeedWithFolder;
|
import com.readrops.app.database.pojo.FeedWithFolder;
|
||||||
@ -34,8 +34,8 @@ import io.reactivex.schedulers.Schedulers;
|
|||||||
public class ManageFeedsActivity extends AppCompatActivity {
|
public class ManageFeedsActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private RecyclerView recyclerView;
|
private RecyclerView recyclerView;
|
||||||
private ModelAdapter<FeedWithFolder, FeedWithFolderItem> itemAdapter;
|
private FeedsAdapter adapter;
|
||||||
private FastAdapter fastAdapter;
|
|
||||||
private ManageFeedsViewModel viewModel;
|
private ManageFeedsViewModel viewModel;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -45,85 +45,24 @@ public class ManageFeedsActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
recyclerView = findViewById(R.id.feeds_recyclerview);
|
recyclerView = findViewById(R.id.feeds_recyclerview);
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
|
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
|
||||||
itemAdapter = new ModelAdapter<>(feedWithFolder -> {
|
|
||||||
FeedWithFolderItem folderItem = new FeedWithFolderItem(feedWithFolder);
|
|
||||||
folderItem.setListener(new FeedWithFolderItem.ManageFeedsListener() {
|
|
||||||
@Override
|
|
||||||
public void onEdit(FeedWithFolder feedWithFolder) {
|
|
||||||
openEditFeedDialog(feedWithFolder);
|
|
||||||
|
|
||||||
}
|
adapter = new FeedsAdapter(new FeedsAdapter.ManageFeedsListener() {
|
||||||
|
@Override
|
||||||
|
public void onEdit(FeedWithFolder feedWithFolder) {
|
||||||
|
openEditFeedDialog(feedWithFolder);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDelete(FeedWithFolder feedWithFolder) {
|
public void onDelete(FeedWithFolder feedWithFolder) {
|
||||||
deleteFolder(feedWithFolder.getFeed().getId());
|
deleteFolder(feedWithFolder.getFeed().getId());
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
return folderItem;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
fastAdapter = FastAdapter.with(itemAdapter);
|
recyclerView.setAdapter(adapter);
|
||||||
recyclerView.setAdapter(fastAdapter);
|
|
||||||
|
|
||||||
viewModel = ViewModelProvider.AndroidViewModelFactory.getInstance(getApplication()).create(ManageFeedsViewModel.class);
|
viewModel = ViewModelProvider.AndroidViewModelFactory.getInstance(getApplication()).create(ManageFeedsViewModel.class);
|
||||||
viewModel.getFeedsWithFolder().observe(this, feedWithFolders -> {
|
viewModel.getFeedsWithFolder().observe(this, feedWithFolders -> {
|
||||||
List<FeedWithFolderItem> items = new ArrayList<>();
|
adapter.submitList(feedWithFolders);
|
||||||
for (FeedWithFolder feedWithFolder : feedWithFolders) {
|
|
||||||
|
|
||||||
FeedWithFolderItem folderItem = new FeedWithFolderItem(feedWithFolder);
|
|
||||||
folderItem.setListener(new FeedWithFolderItem.ManageFeedsListener() {
|
|
||||||
@Override
|
|
||||||
public void onEdit(FeedWithFolder feedWithFolder) {
|
|
||||||
openEditFeedDialog(feedWithFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDelete(FeedWithFolder feedWithFolder) {
|
|
||||||
deleteFolder(feedWithFolder.getFeed().getId());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
items.add(folderItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (items.size() > 0) {
|
|
||||||
DiffUtil.DiffResult diffResult = FastAdapterDiffUtil.calculateDiff(itemAdapter, items, new DiffCallback<FeedWithFolderItem>(){
|
|
||||||
@Override
|
|
||||||
public boolean areItemsTheSame(FeedWithFolderItem oldItem, FeedWithFolderItem newItem) {
|
|
||||||
return oldItem.getModel().getFeed().getId() == newItem.getModel().getFeed().getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean areContentsTheSame(FeedWithFolderItem oldItem, FeedWithFolderItem newItem) {
|
|
||||||
FeedWithFolder feedWithFolder1 = oldItem.getModel();
|
|
||||||
FeedWithFolder feedWithFolder2 = newItem.getModel();
|
|
||||||
|
|
||||||
return feedWithFolder1.getFolder().getName().equals(feedWithFolder2.getFolder().getName()) &&
|
|
||||||
feedWithFolder1.getFeed().getName().equals(feedWithFolder2.getFeed().getName()) &&
|
|
||||||
feedWithFolder1.getFeed().getUrl().equals(feedWithFolder2.getFeed().getUrl());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public Object getChangePayload(FeedWithFolderItem oldItem, int oldItemPosition, FeedWithFolderItem newItem, int newItemPosition) {
|
|
||||||
Bundle bundle = new Bundle();
|
|
||||||
|
|
||||||
if (!oldItem.getModel().getFeed().getName().equals(newItem.getModel().getFeed().getName()))
|
|
||||||
bundle.putString(FeedWithFolderItem.FEED_NAME_KEY, newItem.getModel().getFeed().getName());
|
|
||||||
|
|
||||||
if (!oldItem.getModel().getFolder().getName().equals(newItem.getModel().getFolder().getName()))
|
|
||||||
bundle.putString(FeedWithFolderItem.FOLDER_NAME_KEY, newItem.getModel().getFolder().getName());
|
|
||||||
|
|
||||||
if (bundle.size() > 0)
|
|
||||||
return bundle;
|
|
||||||
else
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
FastAdapterDiffUtil.set(itemAdapter, diffResult);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,24 +99,6 @@ public class ManageFeedsActivity extends AppCompatActivity {
|
|||||||
transaction.add(editFeedDialog, "").commit();
|
transaction.add(editFeedDialog, "").commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
getMenuInflater().inflate(R.menu.feeds_menu, menu);
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
|
||||||
switch (item.getItemId()) {
|
|
||||||
case android.R.id.home:
|
|
||||||
finish();
|
|
||||||
return true;
|
|
||||||
case R.id.add_folder:
|
|
||||||
addFolder();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return super.onOptionsItemSelected(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addFolder() {
|
private void addFolder() {
|
||||||
new MaterialDialog.Builder(this)
|
new MaterialDialog.Builder(this)
|
||||||
@ -203,6 +124,26 @@ public class ManageFeedsActivity extends AppCompatActivity {
|
|||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.feeds_menu, menu);
|
||||||
|
return super.onCreateOptionsMenu(menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case android.R.id.home:
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
case R.id.add_folder:
|
||||||
|
addFolder();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
finish();
|
finish();
|
||||||
|
@ -1,125 +0,0 @@
|
|||||||
package com.readrops.app.views;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.annotation.NonNull;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
|
||||||
import com.mikepenz.fastadapter.items.ModelAbstractItem;
|
|
||||||
import com.readrops.app.R;
|
|
||||||
import com.readrops.app.database.pojo.FeedWithFolder;
|
|
||||||
import com.readrops.app.utils.GlideApp;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class FeedWithFolderItem extends ModelAbstractItem<FeedWithFolder, FeedWithFolderItem, FeedWithFolderItem.ViewHolder> {
|
|
||||||
|
|
||||||
public static final String FEED_NAME_KEY = "name";
|
|
||||||
public static final String FOLDER_NAME_KEY = "folderName";
|
|
||||||
public static final String FOLDER_ID_KEY = "folderKey";
|
|
||||||
|
|
||||||
private ManageFeedsListener listener;
|
|
||||||
|
|
||||||
public FeedWithFolderItem(FeedWithFolder feedWithFolder) {
|
|
||||||
super(feedWithFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public ViewHolder getViewHolder(View v) {
|
|
||||||
return new ViewHolder(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getType() {
|
|
||||||
return R.id.feed_layout;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getLayoutRes() {
|
|
||||||
return R.layout.feed_layout;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public long getIdentifier() {
|
|
||||||
return getModel().getFeed().getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void bindView(ViewHolder holder, List<Object> payloads) {
|
|
||||||
super.bindView(holder, payloads);
|
|
||||||
if (!payloads.isEmpty()) {
|
|
||||||
Bundle bundle = (Bundle)payloads.get(0);
|
|
||||||
|
|
||||||
if (bundle.getString(FEED_NAME_KEY) != null) {
|
|
||||||
holder.feedName.setText(bundle.getString(FEED_NAME_KEY));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bundle.getString(FOLDER_NAME_KEY) != null) {
|
|
||||||
holder.folderName.setText(bundle.getString(FOLDER_NAME_KEY));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
FeedWithFolder feedWithFolder = getModel();
|
|
||||||
|
|
||||||
if (feedWithFolder.getFeed().getIconUrl() != null) {
|
|
||||||
GlideApp.with(holder.itemView.getContext())
|
|
||||||
.load(feedWithFolder.getFeed().getIconUrl())
|
|
||||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
|
||||||
.placeholder(R.drawable.ic_rss_feed)
|
|
||||||
.into(holder.feedIcon);
|
|
||||||
} else
|
|
||||||
holder.feedIcon.setImageResource(R.drawable.ic_rss_feed);
|
|
||||||
|
|
||||||
holder.feedName.setText(feedWithFolder.getFeed().getName());
|
|
||||||
if (feedWithFolder.getFeed().getDescription() != null) {
|
|
||||||
holder.feedDescription.setVisibility(View.VISIBLE);
|
|
||||||
holder.feedDescription.setText(feedWithFolder.getFeed().getDescription());
|
|
||||||
} else
|
|
||||||
holder.feedDescription.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
if (feedWithFolder.getFolder().getId() != 1)
|
|
||||||
holder.folderName.setText(feedWithFolder.getFolder().getName());
|
|
||||||
else
|
|
||||||
holder.folderName.setText(holder.itemView.getResources().getString(R.string.no_folder));
|
|
||||||
|
|
||||||
holder.editFeed.setOnClickListener(v -> listener.onEdit(getModel()));
|
|
||||||
holder.deleteFeed.setOnClickListener(v -> listener.onDelete(getModel()));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setListener(ManageFeedsListener listener) {
|
|
||||||
this.listener = listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface ManageFeedsListener {
|
|
||||||
void onEdit(FeedWithFolder feedWithFolder);
|
|
||||||
void onDelete(FeedWithFolder feedWithFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static class ViewHolder extends RecyclerView.ViewHolder {
|
|
||||||
|
|
||||||
private ImageView feedIcon;
|
|
||||||
private TextView feedName;
|
|
||||||
private TextView feedDescription;
|
|
||||||
private TextView folderName;
|
|
||||||
|
|
||||||
private ImageView editFeed;
|
|
||||||
private ImageView deleteFeed;
|
|
||||||
|
|
||||||
public ViewHolder(View itemView) {
|
|
||||||
super(itemView);
|
|
||||||
|
|
||||||
feedIcon = itemView.findViewById(R.id.feed_layout_icon);
|
|
||||||
feedName = itemView.findViewById(R.id.feed_layout_name);
|
|
||||||
feedDescription = itemView.findViewById(R.id.feed_layout_description);
|
|
||||||
folderName = itemView.findViewById(R.id.feed_layout_folder);
|
|
||||||
editFeed = itemView.findViewById(R.id.feed_layout_edit);
|
|
||||||
deleteFeed = itemView.findViewById(R.id.feed_layout_delete);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
152
app/src/main/java/com/readrops/app/views/FeedsAdapter.java
Normal file
152
app/src/main/java/com/readrops/app/views/FeedsAdapter.java
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
package com.readrops.app.views;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v7.recyclerview.extensions.AsyncListDiffer;
|
||||||
|
import android.support.v7.recyclerview.extensions.ListAdapter;
|
||||||
|
import android.support.v7.util.DiffUtil;
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
|
import com.readrops.app.R;
|
||||||
|
import com.readrops.app.database.pojo.FeedWithFolder;
|
||||||
|
import com.readrops.app.utils.GlideApp;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FeedsAdapter extends ListAdapter<FeedWithFolder, FeedsAdapter.ViewHolder> {
|
||||||
|
|
||||||
|
public static final String FEED_NAME_KEY = "name";
|
||||||
|
public static final String FOLDER_NAME_KEY = "folderName";
|
||||||
|
|
||||||
|
private ManageFeedsListener listener;
|
||||||
|
|
||||||
|
private static final DiffUtil.ItemCallback<FeedWithFolder> DIFF_CALLBACK = new DiffUtil.ItemCallback<FeedWithFolder>() {
|
||||||
|
@Override
|
||||||
|
public boolean areItemsTheSame(@NonNull FeedWithFolder feedWithFolder, @NonNull FeedWithFolder t1) {
|
||||||
|
Log.d("", "areItemsTheSame: ");
|
||||||
|
return feedWithFolder.getFeed().getId() == t1.getFeed().getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean areContentsTheSame(@NonNull FeedWithFolder feedWithFolder, @NonNull FeedWithFolder t1) {
|
||||||
|
return feedWithFolder.getFeed().getName().equals(t1.getFeed().getName())
|
||||||
|
&& feedWithFolder.getFolder().getName().equals(t1.getFolder().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public Object getChangePayload(@NonNull FeedWithFolder oldItem, @NonNull FeedWithFolder newItem) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
|
||||||
|
if (!oldItem.getFeed().getName().equals(newItem.getFeed().getName()))
|
||||||
|
bundle.putString(FeedsAdapter.FEED_NAME_KEY, newItem.getFeed().getName());
|
||||||
|
|
||||||
|
if (!oldItem.getFolder().getName().equals(newItem.getFolder().getName()))
|
||||||
|
bundle.putString(FeedsAdapter.FOLDER_NAME_KEY, newItem.getFolder().getName());
|
||||||
|
|
||||||
|
if (bundle.size() > 0)
|
||||||
|
return bundle;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public FeedsAdapter(ManageFeedsListener listener) {
|
||||||
|
super(DIFF_CALLBACK);
|
||||||
|
|
||||||
|
this.listener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
||||||
|
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.feed_layout, viewGroup, false);
|
||||||
|
|
||||||
|
return new ViewHolder(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
|
||||||
|
FeedWithFolder feedWithFolder = getItem(i);
|
||||||
|
|
||||||
|
if (feedWithFolder.getFeed().getIconUrl() != null) {
|
||||||
|
GlideApp.with(viewHolder.itemView.getContext())
|
||||||
|
.load(feedWithFolder.getFeed().getIconUrl())
|
||||||
|
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||||
|
.placeholder(R.drawable.ic_rss_feed)
|
||||||
|
.into(viewHolder.feedIcon);
|
||||||
|
} else
|
||||||
|
viewHolder.feedIcon.setImageResource(R.drawable.ic_rss_feed);
|
||||||
|
|
||||||
|
viewHolder.feedName.setText(feedWithFolder.getFeed().getName());
|
||||||
|
if (feedWithFolder.getFeed().getDescription() != null) {
|
||||||
|
viewHolder.feedDescription.setVisibility(View.VISIBLE);
|
||||||
|
viewHolder.feedDescription.setText(feedWithFolder.getFeed().getDescription());
|
||||||
|
} else
|
||||||
|
viewHolder.feedDescription.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
if (feedWithFolder.getFolder().getId() != 1)
|
||||||
|
viewHolder.folderName.setText(feedWithFolder.getFolder().getName());
|
||||||
|
else
|
||||||
|
viewHolder.folderName.setText(viewHolder.itemView.getResources().getString(R.string.no_folder));
|
||||||
|
|
||||||
|
viewHolder.editFeed.setOnClickListener(v -> listener.onEdit(getItem(i)));
|
||||||
|
viewHolder.deleteFeed.setOnClickListener(v -> listener.onDelete(getItem(i)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull List<Object> payloads) {
|
||||||
|
if (!payloads.isEmpty()) {
|
||||||
|
Bundle bundle = (Bundle) payloads.get(0);
|
||||||
|
|
||||||
|
if (bundle.getString(FEED_NAME_KEY) != null) {
|
||||||
|
holder.feedName.setText(bundle.getString(FEED_NAME_KEY));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bundle.getString(FOLDER_NAME_KEY) != null) {
|
||||||
|
holder.folderName.setText(bundle.getString(FOLDER_NAME_KEY));
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
onBindViewHolder(holder, position);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface ManageFeedsListener {
|
||||||
|
void onEdit(FeedWithFolder feedWithFolder);
|
||||||
|
void onDelete(FeedWithFolder feedWithFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected static class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
|
private ImageView feedIcon;
|
||||||
|
private TextView feedName;
|
||||||
|
private TextView feedDescription;
|
||||||
|
private TextView folderName;
|
||||||
|
|
||||||
|
private ImageView editFeed;
|
||||||
|
private ImageView deleteFeed;
|
||||||
|
|
||||||
|
public ViewHolder(View itemView) {
|
||||||
|
super(itemView);
|
||||||
|
|
||||||
|
feedIcon = itemView.findViewById(R.id.feed_layout_icon);
|
||||||
|
feedName = itemView.findViewById(R.id.feed_layout_name);
|
||||||
|
feedDescription = itemView.findViewById(R.id.feed_layout_description);
|
||||||
|
folderName = itemView.findViewById(R.id.feed_layout_folder);
|
||||||
|
editFeed = itemView.findViewById(R.id.feed_layout_edit);
|
||||||
|
deleteFeed = itemView.findViewById(R.id.feed_layout_delete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user