2016-07-05 71 views
0

我已经从Json服务器在ListView中的数据显示在片段 ,但是当我点击ListView中的每一行时,它会打开一个新的空白活动,但我想在那个Blank活动中显示ListView的每行数据,如Title,Description和image?那么如何从Fragment ListView中获得该活动(空白活动)? 我传递意图方法的数据,但没有得到? 这是NewsAdapter的Ne​​ws_Fragment如何获取标题,描述,图像从JSON服务器使用Volley

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 str = title.getEditableText().toString().trim(); 

      Intent intent = new Intent(context.getApplicationContext(), News_Activity.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.getApplicationContext().startActivity(intent); 
      intent.putExtra(str,"title"); 

      Toast.makeText(context, "You Clicked " + newsList.get(position), Toast.LENGTH_LONG).show(); 

     } 
    }); 
} 
@Override 
public int getItemCount() { 
    return newsList.size(); 
} 

}

+0

因此,当从ListView中选择一个项目时,您将开始另一个活动, h拥有碎片? –

+0

将数据传递给'Intent'。 – earthw0rmjim

+0

如何在Intent中传递数据? plz给我充分说明或示例代码 –

回答

0

这是从一个活动的数据发送到另一个

startActivity(new Intent(getActivity(),YourActivity.class).putExtra("Title","TileValue").putExtra("Decscription","decriptionValue)); 

的代码,那么您可以在这样以后活动检索:

String title=getIntent().getStringExtra("Title");