为轮播中的每个项创建唯一的onClick侦听器 - Android / Java

时间:2015-06-08 18:51:49

标签: java android resources carousel

我试图为imageCarousel中的每个项目创建一个onClick侦听器 - 但是我无法为轮播中的每个对象创建一个唯一的侦听器。

目前 - 侦听器功能 - 但它适用于轮播中的所有项目 - 我尝试查找/使用每个项目的唯一ID失败。

当前实施:

    for (int i = 0; i < titleResourcesTypedArray.length(); ++i) {
        // Create new ImageView
        imageItem = new ImageView(this);

        // Set the shadow background
        imageItem.setBackgroundResource(R.drawable.shadow);

        // Set the image view resource
        imageItem.setImageResource(titleResourcesTypedArray.getResourceId(
                i, -1));

        // Set the size of the image view to the previously computed value
        imageItem.setLayoutParams(new LinearLayout.LayoutParams(imageWidth,
                imageWidth));

        //imageItem.setOnClickListener(this);

        // Add image to the carousel
        mCarouselContainer1.addView(imageItem);

        imageItem.setOnClickListener(new View.OnClickListener() {
            // create an onClick Listener
            @Override
            public void onClick(View v) {
                // create an onClick Event (Start the Map Download)
                Intent intent = new Intent(Home.this, Download.class);
                startActivity(intent);

            }
        });

    }

期望的实施:

我相信我应该使用以下内容:

        imageItem.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                titleResourcesTypedArray.getResources();
                if (v.getId() = 7) {
                    Intent intent = new Intent(Home.this, Download.class);
                    startActivity(intent);


                    ...

或者也许:

        imageItem.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                titleResourcesTypedArray.getResources();
             if (v.getResources() = 10) {
                        // Do Stuff
                        Intent intent = new Intent(Home.this, Download.class);
                        startActivity(intent);                          
                    }


                }
            }

如何正确识别旋转木马中每件物品的ID?

1 个答案:

答案 0 :(得分:0)

除了与ID进行比较之外,还有另一种方法可以使用&#39;标记&#39;。您可以使用 setTag 方法在imageView上设置标记,然后在onClick方法中可以比较此标记。