I made one NewsAdapter with image and two texts.When u click on image it ll lead you to new activity.Now i want to pass image and text's to new activity.i know with putExtra method you can pass data but i don't know how can i use it here.
this is my News_Fragment
public class News_Fragment extends Fragment {
private List<News> newsList = new ArrayList<>();
private RecyclerView recyclerView;
private NewsAdapter newAdapter;
BottomBar bottombar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_news_, container, false);
recyclerView = (RecyclerView) rootView.findViewById(R.id.News_recycler_view);
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(newAdapter);
newAdapter = new NewsAdapter(newsList,getContext());
// Inflate the layout for this fragment
JSONObject jsonObject = new JSONObject();
new NewsTask() {
@Override
protected void onPostExecute(APIResponse apiResponse) {
if(apiResponse != null && apiResponse.data != null & apiResponse.data.size()>0) {
newsList = apiResponse.data;
//apiResponse.data.toArray();
//newAdapter.notifyDataSetChanged();
newAdapter = new NewsAdapter(newsList,getContext());
recyclerView.setAdapter(newAdapter);
}
Log.i("resp", "onPostExecute");
}
}.execute(jsonObject);
return rootView;
}
}
this is NewsAdapter
public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.MyViewHolder> {
private List<News> newsList;
private Context context;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title;
public ImageView image,nextArrowimage;
public TextView desc;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.News_title);
image = (ImageView) view.findViewById(R.id.News_imageView);
nextArrowimage = (ImageView)view.findViewById(R.id.news_NextArrow);
desc = (TextView) view.findViewById(R.id.News_desc);
}
}
public NewsAdapter(List<News> newsList,Context context) {
this.newsList = newsList;
this.context = context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.news_list_row, parent, false);
MyViewHolder holder = new MyViewHolder(itemView);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
final News news = newsList.get(position);
holder.title.setText(news.getTitle());
//holder.image.setImageResource(Integer.parseInt(news.getImage()));
context = holder.image.getContext();
holder.nextArrowimage.setImageResource(R.drawable.nextbutton);
//Picasso.with(context).load("https://www.simplifiedcoding.net/wp-content/uploads/2015/10/advertise.png").resize(100,100).into(holder.image);
Picasso.with(context).load("http://bitstobyte.in/upload/"+news.getImage()).placeholder(R.drawable.ic_favorite_white_24dp).error(R.drawable.ic_map_24dp).resize(100,100).into(holder.image);
//Picasso.with(context).load("http://bitstobyte.in/upload/"+ news.getImage()).resize(100,100).into(holder.image);
holder.desc.setText(news.getDesc().trim());
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView title = (TextView)v.findViewById(R.id.News_title);
TextView desc = (TextView)v.findViewById(R.id.News_desc);
String str3 = "http://bitstobyte.in/api/news/"+getItemId(position)+news.getImage();
Intent intent = new Intent(context.getApplicationContext(), News_Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.getApplicationContext().startActivity(intent);
intent.putExtra("title",str3);
Toast.makeText(context, "You Clicked " + newsList.get(position), Toast.LENGTH_LONG).show();
}
});
}
@Override
public int getItemCount() {
return newsList.size();
}
}
this is my News_Activity
public class News_Activity extends AppCompatActivity {
TextView textView1,
textView2;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news_);
getSupportActionBar().setTitle(Html.fromHtml("<font color='#fdfafa'> News View </font>"));
final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
//upArrow.setColorFilter(getResources().getColor(R.color.ActionBarText), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String Title1 = getIntent().getStringExtra("title");
textView1 = (TextView)findViewById(R.id.activity_news_Title);
textView1.setText(Title1);
textView2 = (TextView)findViewById(R.id.activity_news_desc);
textView2.setText(Title1);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == android.R.id.home){
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}