Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我在activity_A中几乎没有imageview,当我单击activity_A中的图像时,它应该在activity_B中打开吗?_Android - Fatal编程技术网

Android 我在activity_A中几乎没有imageview,当我单击activity_A中的图像时,它应该在activity_B中打开吗?

Android 我在activity_A中几乎没有imageview,当我单击activity_A中的图像时,它应该在activity_B中打开吗?,android,Android,先生/女士/朋友们: 我是android程序的新手,我在这个活动中创建了一个线性布局,我放置了20个图像,当我单击一个图像时,特定的图像将在另一个活动中打开,在第二个活动中,我只放置了一个图像视图。那么请告诉我怎么做 我做了,但是我的程序每次只显示一个相同的图像 //this is the first activity. public class abcd extends ActionBarActivity{ public final static String VIEW_ID = "name

先生/女士/朋友们:

我是android程序的新手,我在这个活动中创建了一个线性布局,我放置了20个图像,当我单击一个图像时,特定的图像将在另一个活动中打开,在第二个活动中,我只放置了一个图像视图。那么请告诉我怎么做

我做了,但是我的程序每次只显示一个相同的图像

//this is the first activity.
public class abcd extends ActionBarActivity{

public final static String VIEW_ID = "name";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.abcd);

}



public void click(View view)
{

   String iname=getResources().getResourceEntryName(view.getId());
    Intent intent=new Intent(this,abcd_disp.class);

    intent.putExtra("VIEW_ID", x);

    startActivity(intent);

}
}

//这是第二项活动

public class abcd_disp extends ActionBarActivity {
ImageView imageView;
int[] im=new int[]{
  R.mipmap.a,R.mipmap.b
};

@Override
protected void onCreate(Bundle savedInstanceState) {

    Intent intent=getIntent();
    String vidname=(String)intent.getStringExtra(abcd.VIEW_ID);
    super.onCreate(savedInstanceState);

   setContentView(R.layout.activity_abcd_disp);

    if(vidname=="aa"){
        imageView=(ImageView)findViewById(R.id.img_abcd_disp);
        imageView.setImageResource(im[0]);

    }
else
    {
 imageView=(ImageView)findViewById(R.id.img_abcd_disp);
            imageView.setImageResource(im[1]);
                    }
}

最简单的方法是:

假设您在drawable文件夹中有一组图像,您正在使用这些图像填充活动a中的ImageView

让图像为@drawable/image1、@drawable/image2、@drawable/image3、@drawable/image4

因此,一旦单击特定的ImageView,就可以按如下方式检索图像资源名称

imageView.getTag()

但这会返回一个对象。所以键入cast将其转换为String。这样做是为了将其与意图一起传递,因为在不序列化或打包的情况下无法直接传递对象

String imageResourceName = (String)imageView.getTag();
一旦你有了这个,把它和你想要开始的意图一起传递给startActivity()

因此,在活动B中有ImageView的地方,可以使用

setTag(getIntent().getStringExtra(“资源名称”)


使用片段而不是活动

intent.putExtra("resource_name", imageResourceName);
startActivity(intent);