Android获取视图在水平滚动视图中的位置
问题描述:
我想要获取图像视图在图像点击侦听器上的位置,它是在水平滚动视图中使用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);
}
}
答
,你也可以在创建视图
在循环,你已经创建了你的观点通过设置变量这样做只是添加此line:
yourView.setTag("your incremental variable");
yourView.setOnClickListener(this);
and onclick(View v)
你可以得到t通过
v.getTag().toString()
答
您正在使用imageView.setTag(i);
设置标签帽的位置,使用v.getTag().toString()
内onClick(View v)
方法。
使用'v.getTag()'而不是'v.getId()'。 –