2015-09-07 172 views
0

我想要获取图像视图在图像点击侦听器上的位置,它是在水平滚动视图中使用for loop来动态添加的。并且该位置想要在另一个活动中设置View pager current item 。Android获取视图在水平滚动视图中的位置

我想这个方法:

int numpos = imageView.getId(); 
Log.e("numpos "," = "+ numpos); 

每个视图位置正在逐渐-1。

在先进的感谢

这里是我的代码

private void prepareTextViewsForHistory(){ 
     HorizontalScrollView parent=(HorizontalScrollView)findViewById(R.id.horizontal_scroll_view_id_01); 
     LinearLayout layout=new LinearLayout(this); 
     layout.setOrientation(LinearLayout.HORIZONTAL); 
     parent.addView(layout); 
     for (int i=DEFAULT_HISTORY_MAX - 1; i >= 0; i--) 
{ 
     final ImageView imageView=new ImageView (this); 
     imageView.setTag(i); 
     imageView.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) 
         { 
          Log.e("imageView ", " Click "); 
          int numpos = imageView.getId(); 
          Log.e("numpos "," = "+ numpos); 

          String item_ActivityId = all_Post.getStrActivityId(); 

          Toast.makeText(getBaseContext(), String.valueOf(v.getId()), Toast.LENGTH_SHORT).show(); 
          Log.e(" Image ID = "," = "+String.valueOf(v.getId())); 
          Intent intent = new Intent(getContext(),SimpleImageActivity.class); 
          //intent.putExtras(extras); 
          intent.putExtra("activity_id",item_ActivityId); 
          startActivity(intent); 
         } 
        }); 
     layout.addView(textView); 
     } 
    } 
+0

使用'v.getTag()'而不是'v.getId()'。 –

回答

2

,你也可以在创建视图

在循环

,你已经创建了你的观点通过设置变量这样做只是添加此line:

yourView.setTag("your incremental variable"); 
yourView.setOnClickListener(this); 

and onclick(View v)你可以得到t通过

v.getTag().toString() 
0

您正在使用imageView.setTag(i);设置标签帽的位置,使用v.getTag().toString()onClick(View v)方法。