我想获取图像视图在图像上的位置单击侦听器,使用for循环动态添加到水平滚动视图中。该位置想要在另一个活动中设置View寻呼机当前项目。
我正在尝试这种方法:
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);
}
}
每个观点位置都是-1。
先谢谢
这是我的代码
jcalendar-1.2.2
答案 0 :(得分:2)
您可以通过在创建视图时设置标记来执行此操作
在您创建视图的循环中,只需添加以下行:
yourView.setTag("your incremental variable");
yourView.setOnClickListener(this);
并且在onclick(View v)
中你可以通过
v.getTag().toString()
答案 1 :(得分:0)
您正在使用imageView.setTag(i);
设置代码,在v.getTag().toString()
方法中使用onClick(View v )
。