如何将onclicklistener设置为当前页面中的项目?

时间:2011-12-22 04:50:35

标签: android paging

我有一个应用程序,我想将onclicklistener添加到寻呼机中的各个项目。 下面是我的截屏。请有人告诉我如何将onclicklistener添加到当前页面中的单个图像。 enter image description here

由于 下面是我的寻呼机视图代码。  这里当第一次运行应用程序初始化每个视图页面时,当我尝试单击图像时,它只返回最后的图像信息。但我想要当前的图像信息。

    scroller = ((Pager)findViewById(R.id.scrollView));
    indicator = ((PageIndicator)findViewById(R.id.indicator));
    indicator.setPager(scroller);
   // Pager pager = new Pager(this, attrs)

    //indicator.getActivePage();

    LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View pageView = null;
    for (int i = 0; i < NUM_PAGES; i++) {
         pageView = layoutInflater.inflate(R.layout.page, null);
       // ((TextView) pageView.findViewById(R.id.pageText)).setText("Page " + (i+1));
          c=4*i;
         imageView1 = (ImageView) pageView.findViewById(R.id.imageView1);
         imageView1.setImageResource(icons[c]);
         imageView2 = (ImageView) pageView.findViewById(R.id.imageView2);
         imageView2.setImageResource(icons[c+1]);
         imageView3 = (ImageView) pageView.findViewById(R.id.imageView3);
         imageView3.setImageResource(icons[c+2]);
         imageView4 = (ImageView) pageView.findViewById(R.id.imageView4);
         imageView4.setImageResource(icons[c+3]);

       // pageView.setBackgroundColor(COLORS[i % COLORS.length]);
        imageView1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println("helo i clicked==>"+c);

            }
        });
        imageView2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println("helo i clicked==>"+c);
            }
        });
       imageView3.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println("helo i clicked==>"+c);
            }
        });
       imageView4.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            System.out.println("helo i clicked==>"+c);
        }
    });
        scroller.addPage(pageView);
    }

4 个答案:

答案 0 :(得分:2)

似乎你没有阅读Android开发人员提供的信息。

使用以下代码为图像添加onClickListener。我不知道你是使用ImageView还是ImageButton。我拿了ImageView。

ImageView iv = new ImageView(/**Context you have to pass**/);

iv.setOnClickListener(new View.OnClickListener) {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // do whatever you want
        }
    });

我希望它可以帮助你。

答案 1 :(得分:1)

在图片上设置此项..或按钮

在xml中

<Button [...] android:onClick: "onClick" [...] />

“onClick”:将此名称命名为处理点击的方法名称

答案 2 :(得分:1)

这可以通过将onClickListeners分配给图像按钮来完成。您可以使用图像按钮显示这些图像并在其上设置onClickListeners。也许这样的事情会有所帮助吗?

   ImageButton   button = (ImageButton) findViewById(R.id.imageButton1);
    button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // Do your stuff here
        }
    });

答案 3 :(得分:1)

如果您使用ImageView,请将属性OnClick设置为 true