在HorizontalScrollView视图上的Android setOnClickListener()

shaonzx

我正在使用以下代码填充horizo​​ntalscrollview:

 for(int I=0; I<jsonArraySize; I++)
        {               
            LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View v = vi.inflate(R.layout.best_seller_layout, null);

            TextView txtProductName = (TextView) v.findViewById(R.id.dashboard_bestSellerName);
            txtProductName.setText(bestSellersList.get(I).getProductName());                
            TextView txtPrice = (TextView) v.findViewById(R.id.dashboard_bestSellerPrice);
            txtPrice.setText(String.valueOf(bestSellersList.get(I).getProductUnitPrice()));             
            ImageView imgProductImage = (ImageView) v.findViewById(R.id.dashboard_bestSellerImage);
            imgProductImage.setImageBitmap(bestSellersImageList.get(I));                                

            insertPoint.add(findViewById(R.id.dashboard_mylinear));             
            ((ViewGroup) insertPoint.get(I)).addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));               

            final int K = I;                
            insertPoint.get(K).setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeText(Dashboard.this,"The index is: " + K, Toast.LENGTH_SHORT).show();
                }
            });             
        }

在这里,我使用setOnClickListener()来烘烤每个视图的索引,但是我总是得到最后一个索引,而不是0,1,2 ..... etc。以下一行内容有些可疑:

insertPoint.add(findViewById(R.id.dashboard_mylinear));

........也许由于这个原因,所有的布局看起来都是一样的,我不确定。有任何想法吗?

shaonzx

我认为问题在于将onClickListener设置为列表项。将侦听器设置为各个视图可以解决此问题:

            final int K = I;
            v.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeToast.makeText(Dashboard.this, "Pressed Index: "+ K, Toast.LENGTH_SHORT).show();
                }
            });
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android上的setOnClickListener错误

Android setOnItemClickListener与setOnClickListener

Android:setOnClickListener之后的setOnTouchListener

android按钮setonclicklistener

Android DataBinding 新按钮 setOnClickListener

Java / Android中的嵌套setOnClickListener

Android setOnClickListener方法-如何工作?

Android Studio中的setOnClickListener循环

setOnClickListener从未触发-Android / Eclipse

setOnClickListener背后的Android-逻辑

SetOnClickListener 和视图视图 - 无法解析符号

回收者视图中的setOnClickListener崩溃

在setOnClickListener()上检查图像以减少视图延迟

android setOnClickListener多个按钮一次

Android TextView-如何实现setOnClickListener

Kotlin如何实现android setOnClickListener之类的语法

setOnClickListener在片段Android中不起作用

片段中的Android按钮setOnClickListener错误

Android-setOnClickListener与OnClickListener与View.OnClickListener

Android:无法应用adapterview中的setonclicklistener

setOnClickListener Android Studio(制作计数器)

Android对话框Button.setonClickListener

Android Java:在for循环中使用setOnClickListener

带有setOnClickListener的android动态按钮

我的Android应用上的NPE for setOnClickListener

Android Studio无法解决错误setOnClickListener

Android Studio Youtube API 使用 setOnClickListener NullPointerException

如何通过多个视图调用“ setOnClickListener”方法?

按钮setOnclickListener不适用于可扩展列表视图