首页 文章

使用listview / gridview时,我应该在哪里设置点击监听器?

提问于
浏览
-1

当我使用listview,recyclerview,gridview等视图列表时,我应该在哪里声明项目点击监听器?

例如,我有一个GridView和一个扩展ArrayAdapter的自定义适配器类 . 有人可以告诉我,以下两种情况中哪一种更好地使用点击监听器?

  • 在GridView设置的活动/片段内部,如:

GridView gridView = findViewById(R.id.grid_view); CustomAdapter adapter = new CustomAdapter(this); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(parameters) { } }); gridView.setAdapter(adapter);

  • 在CustomAdapter中的getView(int position,View convertView,ViewGroup parent)方法中,如:

convertView.setOnClickListener(new OnClickListener() ... );

谢谢您的帮助!

2 回答

  • 0

    这取决于你想要的方式,如果你想用你的项目点击监听器访问一些活动变量,那么它最好先写一个,如果你想单行点击事件,那么肯定第一个更好但是如果你需要更多点击子视图的事件是列表项,那么你需要在适配器内部定义,

    就像我有一个带有一个加号和减号按钮的列表项一样,我想在完整项目点击时重定向到详细信息屏幕然后我将更好地定义适配器内的点击事件 .

  • 0

    这取决于你的需要,如果你想考虑单个整个 grid item 然后第一种方法设置 onItemClickListenergrid ,但如果你的 grid 必须响应其中的单个视图点击,然后去第二种方法响应点击适配器

相关问题