在 android 中使用哪个事件来检测来自视图寻呼机适配器的点击事件
Which event to be used to detect click event from view pager adapter in android
我在做什么:
- 我有一个
ViewPager
,我在其中将图像添加到 ImageView
我创建的每个 View
- 同时我给它设置了一个
TAG
值
- 我正在使用
Activities
我想做的事情:
- 在运行时,当我点击我想要获取的特定视图时
我在标签中为点击的适配器视图选择的值
- 如何实现
当前代码:
public class AdptAtomicSongGallery extends PagerAdapter {
// Declare Variables
Context context;
LayoutInflater inflater;
String godName;
LinkedList<LinkedHashMap<String, String>> arrLst;
LinkedHashMap<String, String> map;
public AdptAtomicSongGallery(Context context, LinkedList<LinkedHashMap<String, String>> arrLst) {
this.context = context;
this.arrLst=arrLst;
}
@Override
public int getCount() {
return arrLst.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
LinearLayout selFavGodsContainer;
LinkedHashMap<String, String> map=arrLst.get(position);
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.adpt_atomic_song_gallery, container,false);
txtSongNameId= (TextView) itemView.findViewById(R.id.txtSongNameId);
txtSongNameId.setTag(<!-----Myvalue---->)
}
});*/
// Add viewpager_item.xml to ViewPager
((ViewPager) container).addView(itemView);
return itemView;
}
如果我总结一下。如果用户单击视图,您需要一个 onClick 事件,并且您需要 txtSongNameId
中的标记值,对吗?
如果是的话。只需将 onClickListener
设置为您的 itemView
。
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//you can get the txtSongNameId view like this here:
(TextView) v.findViewById(R.id.txtSongNameId);
//or you declare it final outside and use it like these here:
txtSongNameId.getTag()
}
});
我在做什么:
- 我有一个
ViewPager
,我在其中将图像添加到ImageView
我创建的每个View
- 同时我给它设置了一个
TAG
值 - 我正在使用
Activities
我想做的事情:
- 在运行时,当我点击我想要获取的特定视图时 我在标签中为点击的适配器视图选择的值
- 如何实现
当前代码:
public class AdptAtomicSongGallery extends PagerAdapter {
// Declare Variables
Context context;
LayoutInflater inflater;
String godName;
LinkedList<LinkedHashMap<String, String>> arrLst;
LinkedHashMap<String, String> map;
public AdptAtomicSongGallery(Context context, LinkedList<LinkedHashMap<String, String>> arrLst) {
this.context = context;
this.arrLst=arrLst;
}
@Override
public int getCount() {
return arrLst.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
LinearLayout selFavGodsContainer;
LinkedHashMap<String, String> map=arrLst.get(position);
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.adpt_atomic_song_gallery, container,false);
txtSongNameId= (TextView) itemView.findViewById(R.id.txtSongNameId);
txtSongNameId.setTag(<!-----Myvalue---->)
}
});*/
// Add viewpager_item.xml to ViewPager
((ViewPager) container).addView(itemView);
return itemView;
}
如果我总结一下。如果用户单击视图,您需要一个 onClick 事件,并且您需要 txtSongNameId
中的标记值,对吗?
如果是的话。只需将 onClickListener
设置为您的 itemView
。
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//you can get the txtSongNameId view like this here:
(TextView) v.findViewById(R.id.txtSongNameId);
//or you declare it final outside and use it like these here:
txtSongNameId.getTag()
}
});