在 android 中使用哪个事件来检测来自视图寻呼机适配器的点击事件

Which event to be used to detect click event from view pager adapter in android

我在做什么:

  1. 我有一个 ViewPager,我在其中将图像添加到 ImageView 我创建的每个 View
  2. 同时我给它设置了一个TAG
  3. 我正在使用Activities

我想做的事情:

  1. 在运行时,当我点击我想要获取的特定视图时 我在标签中为点击的适配器视图选择的值
  2. 如何实现

当前代码:

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()
    }
});