I want send data from Adapter into Activity, and i write below code but not work me and show this line in LogCat :
06-14 16:15:26.808 20907-20907/com.razemovafaghiat.tellfa.android D/SendData: title : com.razemovafaghiat.tellfa.android.components.tellfa_TextView{6766190 V.ED.... ......I. 0,0-0,0 #7f0c0096 app:id/content_info_title}
Adapter codes:
public class pdf_recycler_adapter extends RecyclerView.Adapter<pdf_recycler_adapter.ViewHolder> {
private List<DataModel> mDateSet;
private Context context;
// Provide a suitable constructor (depends on the kind of dataset)
public pdf_recycler_adapter(Context context, List<DataModel> dataSet) {
this.context = context;
this.mDateSet = dataSet;
}
// Create new views (invoked by the layout manager)
@Override
public pdf_recycler_adapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// create a new view
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.pdf_card_layout, parent, false);
// create ViewHolder
return new ViewHolder(view);
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(final ViewHolder viewHolder, int position) {
// - get data from your itemsData at this position
// - replace the contents of the view with that itemsData
viewHolder.pdf_titleText.setText(Html.fromHtml(mDateSet.get(position).getTitle()));
Glide.with(context)
.load(mDateSet.get(position).getImage())
.placeholder(R.drawable.ic_download_image)
.crossFade()
.into(viewHolder.pdf_avatarImage);
Log.d("ImageData", "image : " + mDateSet.get(position).getImage());
viewHolder.pdf_descText.setText(Html.fromHtml(mDateSet.get(position).getDescription()));
viewHolder.pdf_descText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = viewHolder.getPosition();
DataModel model = mDateSet.get(position);
v.getContext().startActivity(new Intent(v.getContext(), ContentPage.class)
.putExtra("title", model.getTitle()));
}
});
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return mDateSet.size();
}
public void remove(int position) {
mDateSet.remove(position);
notifyItemRemoved(position);
}
public void clear() {
mDateSet.clear();
notifyDataSetChanged();
}
public void add(List<DataModel> models) {
mDateSet.addAll(models);
notifyDataSetChanged();
}
public void update(List<DataModel> models) {
mDateSet.clear();
mDateSet.addAll(models);
notifyDataSetChanged();
}
// inner class to hold a reference to each item of RecyclerView
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView pdf_titleText, pdf_descText;
public ImageView pdf_avatarImage;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
pdf_titleText = (TextView) itemLayoutView.findViewById(R.id.video_card_title);
pdf_descText = (TextView) itemLayoutView.findViewById(R.id.video_card_content);
pdf_avatarImage = (ImageView) itemLayoutView.findViewById(R.id.video_card_image);
}
}
}
Send data code (in adapter):
viewHolder.pdf_descText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = viewHolder.getPosition();
DataModel model = mDateSet.get(position);
v.getContext().startActivity(new Intent(v.getContext(), ContentPage.class)
.putExtra("title", model.getTitle()));
}
});
Activity codes:
public class ContentPage extends AppCompatActivity {
private String title = "";
private TextView titleText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_page);
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(" ");
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
//Initialize
titleText = (TextView) findViewById(R.id.content_info_title);
//Give Data
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
title = bundle.getString("title");
}
if (title != null) {
titleText.setText(Html.fromHtml(title));
Log.d("SendData", "title : " + titleText);
}
How can i solve this problem? thanks all <3
Aucun commentaire:
Enregistrer un commentaire