2015-11-12 42 views
1

我是新來的android,我使用RecyclerView來列出圖像,而不使用第三方庫。它完美的作品,但當我點擊圖片時,我需要在活動中顯示片段。如何在點擊圖像時顯示活動片段中的圖像?

onClick方法觸發,調用接口方法ItemClickListener

@Override 
    public void ItemClickListener(View view, int position,Bitmap bitmap) { 


    ActivityFragment frag=new ActivityFragment(); 
    Bundle bundle=new Bundle(); 
    ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); 
    bundle.putParcelable("bitmap", bitmap); 
    Log.d("fff", String.valueOf(bundle)); 
    frag.setArguments(bundle); 

    FragmentManager manager=getFragmentManager(); 
    FragmentTransaction transaction=manager.beginTransaction(); 
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
    transaction.add(R.id.linearLayoutRecyclerView, frag, "bitmappassing"); 
    transaction.addToBackStack("bitmappassing"); 
    transaction.commit(); 


} 

這是ActivityFragment.java

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View layout= inflater.inflate(R.layout.fragment_activity, container, false); 
// Bitmap args=getArguments().getParcelable("bitmap"); 
    Bitmap bitmap=getArguments().getParcelable("bitmap"); 
    Log.d("fff","fragment"+bitmap); 
    imageView= (ImageView) layout.findViewById(R.id.id_fragmentImageView); 
    imageView.setImageBitmap(bitmap); 


    return layout; 
} 
+0

http://stackoverflow.com/help/mcve –

回答

2

你可以簡單地使用自定義佈局對話框。

imageView.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     LayoutInflater inflater = ActivityName.this.getLayoutInflater(); 
     View imageDialog = inflater.inflate(R.layout.dialog_image, null); 
     Dialog dialog = new Dialog(context); 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     dialog.setContentView(imageDialog); 
     dialog.setCanceledOnTouchOutside(true); 
     dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

     ImageView imgImage = (ImageView) imageDialog.findViewById(R.id.imgImage); 
      // Set your image 

     dialog.show(); 
    } 
}); 
相關問題