如何正确设置监听器?

Posted

技术标签:

【中文标题】如何正确设置监听器?【英文标题】:How to set listener correctly? 【发布时间】:2020-12-25 18:34:33 【问题描述】:

如果使用适配器视图初始化 onItemClickListener,如何正确设置列表视图的 setOnItemClickListener?我有以下代码,我在最后一个字符串之前和之前有一个错误,我尝试listView.setOnClickListener(itemClickListener);

    @Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_top_level);

    AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() 
        @Override
        public void onItemClick(AdapterView<?> listenView, View itemView, int position, long id) 
            if (position == 0) 
                Intent intent = new Intent(TopLevelActivity.this, DrinkCategoryActivity.class);
                startActivity(intent);
            
        
    ;
    ListView listView = (ListView) findViewById(R.id.list_options);
    listView.setOnClickListener(itemClickListener);

【问题讨论】:

【参考方案1】:

为什么不试试这个而不是 itemclicklistener:--

  lv.setOnItemClickListener(new AdapterView.OnItemClickListener() 
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) 
            // TODO Auto-generated method stub
            Intent i = new Intent(getApplicationContext(), destinationclass.class);
            startActivity(i);

        
    );

【讨论】:

第一个不起作用,它每次都会让应用程序崩溃,但第二个可以正常工作。谢谢!

以上是关于如何正确设置监听器?的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView 项目点击监听器的正确方式

如何在状态下设置监听器?

如何正确地将事件侦听器添加到 React useEffect 挂钩?

ios监听ScrollView/TableView滚动的正确姿势

如何在 Flutter 中为 Firebase 连接设置监听器?

Chrome WebRequest API:如何阻止“设置Cookie”?