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)方法。