-6

我迫切需要你的帮助,

我有 5(4+1) 个活动。当我在 4 个活动中的任何一个上单击图像时,我想在最后 1 个活动上显示它,这也是全屏...

这意味着我有 4 个将随机出现的活动,如果我单击任何 Activity 上的 Image 视图,我想在 Final Activity 上全屏显示所选图像

请帮我发送代码......(我的计划是只使用一个活动来查看之前活动中分别选择的所有图像,并在2~3秒后消失。)

由于我刚刚开始从事ANDROID项目,任何形式的帮助将不胜感激。谢谢。

好的,在这里,

MAinActivity.java

           public void onClick(View v) {

    // TODO Auto-generated method stub

    switch (v.getId()) {

    case R.id.imageView1:
    Intent i = new Intent(MainActivity.this, ImageView.class);
    i.putExtra("key1", R.drawable.ic_launcher);
    startActivity(i);

    break;

    case R.id.imageView2:
    Intent i1 = new Intent(MainActivity.this, ImageView.class);
    i1.putExtra("key1", R.drawable.ic_launcher);
    startActivity(i1);

    break;

ImageView.java:

            super.onCreate(b);      
    iv = new android.widget.ImageView(this);        
    Uri savedInstanceState = getIntent().getParcelableExtra("key1");        
    iv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));     
    iv.setImageURI(savedInstanceState);

好的,我真的被困在这里将图像从一个 MainActivity 传输到 ImageView Activity。

请指出我的清白。

在我的 Main.xml 文件中,我有相关的 ImageView 标签。

4

1 回答 1

0

您可以进行一项活动,您可以在其中声明一个在 3 秒后调用的方法并在其中写入finish();在此活动中,您可以通过传递图像名称以全屏显示intent.putExtra

如果您需要代码,请告诉我

这是代码

  • 在 *Activity A* 中保存文件(内部存储)
String fileName = "SomeName.png";
try {
    FileOutputStream fileOutStream = openFileOutput(fileName, MODE_PRIVATE);
    fileOutStream.write(b);  //b is byte array 
                             //(used if you have your picture downloaded
                             // from the *Web* or got it from the *devices camera*)
                             //otherwise this technique is useless
    fileOutStream.close();
} catch (IOException ioe) {
    ioe.printStackTrace();
}
  • 将位置作为字符串传递给活动 B
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("picname", fileName);
  • 在 *Activity B* 中检索文件
Bundle extras = getIntent().getExtras();
String fileName = extras.getString("picname");
  • 使*drawable*脱离图片
File filePath = getFileStreamPath(fileName);
Drawable d = Drawable.createFromPath(filePath.toString());
  • 将其应用于 ImageView 资源
someImageView.setBackgroundDrawable(d);

要访问具有名称的可绘制文件夹资源,您可以使用此方法

private void showImage() {
    String uri = "drawable/icon";

    // int imageResource = R.drawable.icon;
    int imageResource = getResources().getIdentifier(uri, null, getPackageName());

    ImageView imageView = (ImageView) findViewById(R.id.myImageView);
    Drawable image = getResources().getDrawable(imageResource);
    imageView.setImageDrawable(image);
}
于 2013-02-25T10:36:09.767 回答