2016-05-18 64 views
0

我想从我的ercyclerview片段发送一个图像到活动现在我不知道如何做到这一点。新手()。 这是我的适配器发送btimap到另一个活动

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.r_view, parent, false); 
    return new ViewHolder(view); 
} 

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 
    final Place place = new PlaceData().propertyList().get(position); 
    holder.homeTextView.setText(place.name); 
    holder.address.setText(place.addressname); 
    holder.prices.setText(place.prices); 

    //loading image to the main home imageview 
    Picasso.with(mcontext).load(path).fit().centerCrop().into(holder.mainImageview); 

    holder.mainImageview. 

} 

@Override 
public int getItemCount() { 
    return new PlaceData().propertyList().size(); 
} 


public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 

    public LinearLayout mainHolder; 
    public LinearLayout placeNameHolder; 
    public ImageView mainImageview; 
    public TextView homeTextView, address, prices; 

    public ViewHolder(View itemView) { 
     super(itemView); 
     mainImageview = (ImageView) itemView.findViewById(R.id.placeImage); 
     placeNameHolder = (LinearLayout) itemView.findViewById(R.id.placeNameHolder); 
     mainHolder = (LinearLayout) itemView.findViewById(R.id.mainHolder); 
     homeTextView = (TextView) itemView.findViewById(R.id.placeName); 
     address = (TextView) itemView.findViewById(R.id.propertyaddress); 
     prices = (TextView) itemView.findViewById(R.id.priceid); 
     mainHolder.setOnClickListener(this); 

    } 

    @Override 
    public void onClick(View v) { 


     if (itemClickListener != null) { 

      itemClickListener.onItemClick(itemView, getPosition()); 
     } 
    } 
} 

public interface onItemClickListener { 

    void onItemClick(View v, int position); 
} 

public void setOnItemClickListener(final onItemClickListener itemClickListener) { 
    this.itemClickListener = itemClickListener; 

} 

,这我的片段

//oclick listener for the recylerview in the fragment 
MainAdaptor.onItemClickListener OnItemClickListener = new MainAdaptor.onItemClickListener(){ 

    @Override 
    public void onItemClick(View v, int position) { 

     Intent intent = new Intent(getContext(),Details.class); 
     intent.putExtra(Details.EXTRA_PARAM_ID,position); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
     startActivity(intent); 
    } 
}; 

我想这样做是什么,当点击recyclerview产品进入活动的ImageView

回答

1

RecyclerView添加此代码

//Convert to byte array 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
    byte[] byteArray = stream.toByteArray(); 

    Intent intent = new Intent(v.getContext(), act.class); 
    intent.putExtra("Image", byteArray /*byte[]*/); 
    //View v 
    v.getContext().startActivity(intent); 

并在第二个o NE补充一点:

byte[] byteArray = getIntent().getByteArrayExtra("image"); 
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 
imageview.setImageBitmap(bmp); 
//or whatever 

,但似乎你在这种情况下,RecyclerView有路径(字符串)添加以下代码行RecyclerView

Intent intent = new Intent(v.getContext(), Activity.class); 
intent.putExtra("Image", Image); 
v.getContext().startActivity(intent); 

在第二活动添加此

String UrlImage = getIntent().getSerializableExtra("Image"); 

final ImageView Header = (ImageView) findViewById(R.id.header); 
Picasso.with(getApplicationContext()) 
       .load(UrlImage) 
       .error(RandomClass.HeaderImage()) 
       .into(Header); 
+0

在哪里如果您的意思是'getIntent'部分只是将其添加到第二个Activity中,那么我会将第二个代码片段放在recyclerview – droid501

+0

中吗?或者您的意思是'Intent' ** S tring **只是创建路径变量('私人字符串路径;')并把'意图'你有'ClickListener'像'onItemClick'和'请更清楚你的问题' – Hosseini

+0

谢谢你,我设法了它,我我在Android新,所以有时我的问题有点抽象,我会尝试更具体。再次感谢 – droid501

相关问题