这是ImageListActivity
,我想在另一个活动中打开图片。
但我不知道如何编码。
我需要一些帮助。
public class ImageListActivity extends AppCompatActivity {
private DatabaseReference mDatabaseRef;
private List<ImageUpload> imgList;
private ListView lv;
private ImageListAdapter adapter;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_list);
imgList = new ArrayList<>();
lv = (ListView) findViewById(R.id.listViewImage);
//Show progress dialog during list image loading
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Por favor aguarde...");
progressDialog.show();
mDatabaseRef = FirebaseDatabase.getInstance().getReference(MainActivity.FB_DATABASE_PATH);
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
progressDialog.dismiss();
//Fetch imagem data from firebase database
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
//ImageUpload class require default constructor
ImageUpload img = snapshot.getValue(ImageUpload.class);
imgList.add(img);
}
//Init adapter
adapter = new ImageListAdapter(ImageListActivity.this, R.layout.image_item, imgList);
//Set adapter for listview
lv.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
progressDialog.dismiss();
}
});
}
}
答案 0 :(得分:1)
要完成此操作,您可以将图片保存到game
,然后从其他活动中检索此图片,这样您就可以处理它并随意执行任何操作:
putExtra
在这里,您可以创建一个带有随机drawable的位图(您可以选择获取图像的方式),之后我将该图像放入带有“byteArray”键的putExtra中
在您的其他活动中执行此操作:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sticky_notes);// your bitmap
ByteArrayOutputStream bs = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bs);
intent.putExtra("byteArray", bs.toByteArray());
if(getIntent().hasExtra("byteArray")
{
ImageView imv= new ImageView(this);
Bitmap bitmap = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);
imv.setImageBitmap(bitmap);
}
是您的imageView,您可以在其中放置图片。
所以在imv
行
您获取图像,然后将该图像放入putExtra并将其检索到其他活动中。