2017-02-25 82 views
0

我想顯示圖像從攝像機拍攝的多個圖像視圖。但是,我只知道如何顯示1.任何人都知道如何顯示多個圖像視圖?感謝幫助!如何在Android工作室顯示多個圖像視圖

public class ItemRegisterActivity extends AppCompatActivity { 
private static final int CAMERA_REQUEST = 1888; 
private ImageView imageView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_item_register); 
    this.imageView = (ImageView)this.findViewById(R.id.imageView1); 
    imageView.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 

} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo); 
    } 
} 
} 

其實我有這樣的

public class ItemRegisterActivity extends AppCompatActivity { 
private static final int CAMERA_REQUEST = 1888; 
private ImageView imageView1,imageView2,imageView3,imageView4; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_item_register); 
    this.imageView1 = (ImageView)this.findViewById(R.id.imageView1); 
    imageView1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 1); 
     } 
    }); 
    this.imageView2 = (ImageView)this.findViewById(R.id.imageView2); 
    imageView2.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 2); 
     } 
    }); 
    this.imageView3 = (ImageView)this.findViewById(R.id.imageView3); 
    imageView3.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 3); 
     } 
    }); 
    this.imageView4 = (ImageView)this.findViewById(R.id.imageView4); 
    imageView4.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 4); 
     } 
    }); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView1.setImageBitmap(photo); 
    } 
    if (requestCode == 2 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView2.setImageBitmap(photo); 
    } 
    if (requestCode == 3 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView3.setImageBitmap(photo); 
    } 
    if (requestCode == 4 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView4.setImageBitmap(photo); 
    } 
} 
} 

的解決方案是否有任何其他方式做到這一點?必須使用回收視圖?謝謝!

+0

使用recyclerview –

+0

你介意給我舉個例子嗎?謝謝! –

回答

0

不幸的是,由於名聲較差,我無法發表評論。但是Here你可以看到如何用多個Image View實現RecyclerView。我希望這會對你有所幫助。

+0

我已經添加了我的其他解決方案的問題。但是,這個解決方案看起來很愚蠢。那麼,回收視圖是解決這個問題的更好方法嗎? –

+0

如果您正在處理大型數據集,那麼Recycler視圖比您的解決方案更好,但如果您只有四個圖像,則無需實施Recycler View。 – sodhankit

+0

好的,謝謝,除了回收視圖之外,還有其他大型數據集的解決方案嗎? –

相關問題