Skip to content

Instantly share code, notes, and snippets.

@dmi3coder
Created December 2, 2016 21:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmi3coder/196caf87b2fd255790a15228de9c2f54 to your computer and use it in GitHub Desktop.
Save dmi3coder/196caf87b2fd255790a15228de9c2f54 to your computer and use it in GitHub Desktop.
Very bad DataBinding use
package com.a8wizards.moximo_recruit_app.dashboard;
import android.databinding.DataBindingUtil;
import android.support.v4.content.ContextCompat;
import android.support.v4.util.ArrayMap;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.a8wizards.moximo_recruit_app.ObservableActivity;
import com.a8wizards.moximo_recruit_app.R;
import com.a8wizards.moximo_recruit_app.databinding.ItemFeedBinding;
import com.a8wizards.moximo_recruit_app.profile.ProfileFragment;
import com.a8wizards.moximo_recruit_app.profile.event.EditEvent;
import rx.functions.Action1;
public class FeedAdapter extends RecyclerView.Adapter<FeedViewHolder> {
private ObservableActivity<ArrayMap<String, Object>> observableActivity;
private ItemFeedBinding binding;
public FeedAdapter(ObservableActivity<ArrayMap<String, Object>> observableActivity) {
this.observableActivity = observableActivity;
}
@Override
public FeedViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
binding = DataBindingUtil.inflate(inflater, R.layout.item_feed, parent, false);
return new FeedViewHolder(binding);
}
@Override
public void onBindViewHolder(final FeedViewHolder holder, int position) {
binding.getRoot().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(observableActivity, "click", Toast.LENGTH_SHORT).show();
}
});
observableActivity.getEvents().subscribe(new Action1<Object>() {
@Override
public void call(Object o) {
if (holder.getBinding() != null) {
int visibility;
if (o instanceof EditEvent) {
visibility = View.VISIBLE;
} else {
visibility = View.GONE;
}
holder.getBinding().imageViewMenuEditIcon.setVisibility(visibility);
holder.getBinding().imageFeedDelete.setImageResource(android.R.drawable.ic_delete);
holder.getBinding().imageFeedDelete.setBackground(ContextCompat.getDrawable(observableActivity, R.drawable.shape_auth_social));
holder.getBinding().imageFeedDelete.setPadding(12, 12, 12, 12);
holder.getBinding().imageFeedDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(observableActivity, "delete ", Toast.LENGTH_SHORT).show();
}
});
}
}
});
}
@Override
public int getItemCount() {
return 30;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment