2015-09-13 22 views
0

這是我的照片發送到下一個活動的代碼。現在我如何在接收活動中顯示在GridView中拍攝的照片。在gridView中顯示從一個活動拍攝的照片到另一個活動

發送:

button1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if(!imageTaken){ 
       Toast.makeText(getActivity(), "You've not taken any image!", Toast.LENGTH_SHORT).show(); 
       return; 
      } 
      Intent iSecond=new Intent(getActivity(),ShowImage.class); 
      iSecond.putExtra("pictureUri", imageUri.toString()); 
      startActivity(iSecond); 
     } 
    }); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Toast.makeText(getActivity(), "Launching Camera", Toast.LENGTH_SHORT).show(); 

      Intent imageIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages"); 
      if(imagesFolder.mkdirs()){ 
       Log.d(TAG, "The directory is created"); 
      } else { 
       Log.d(TAG, "Failed or already exists"); 
      } 
      File image = new File(imagesFolder, "image_001.jpg"); 
      try { 
       if(image.createNewFile()){ 
        Log.d(TAG, "The file is created"); 
       } else { 
        Log.d(TAG, "The file already exists"); 
       } 
      } catch (IOException e) { 
       Log.e(TAG, "createNewFile Failed"); 
       e.printStackTrace(); 
      } 
      imageUri = Uri.fromFile(image); 
      imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
      startActivityForResult(imageIntent, REQUEST_CODE_FROM_CAMERA); 
     } 
    }); 
    return view; 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_CODE_FROM_CAMERA && resultCode == Activity.RESULT_OK) { 
     imageTaken = true; 
     Toast.makeText(getActivity(), "The image was taken",Toast.LENGTH_SHORT).show(); 
    } 
} 

接收活動:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.show); 
    grid = (GridView) findViewById(R.id.gridviewimg); 

    grid.setImageURI(Uri.parse(getIntent().getStringExtra("pictureUri"))); 
} 

XML對於接收活動:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<RelativeLayout 
    android:id="@+id/RelativeGridLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" > 

    <GridView 
     android:id="@+id/gridviewimg" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:gravity="center" 
     android:numColumns="2" 
     android:scrollbarStyle="outsideInset" 
     android:smoothScrollbar="true" 
     android:verticalSpacing="10dp" 
     android:paddingBottom="50dp" 
     android:paddingTop="10dp" 
     /> 
</RelativeLayout> 

<RelativeLayout 
    android:id="@+id/RelativeLayout01" 
    android:layout_width="fill_parent" 
    android:layout_height="40dp" 
    android:layout_alignBottom="@+id/RelativeGridLayout" 
    > 


</RelativeLayout> 

誰能幫助我嗎?

回答

0

您不能像直接將圖像設置爲GridView。您必須創建自定義適配器。

對於自定義適配器,您需要首先創建GridView項目(在您的情況下是和ImageView)的佈局。

之後,將(圖像URI或URL的數量)傳遞給Adapter,並將適配器設置爲GridView。

可能是this鏈接可以給你提示。

相關問題