代码之家  ›  专栏  ›  技术社区  ›  gety

java android listview setOnLongClickListener

  •  0
  • gety  · 技术社区  · 1 年前

    要实现长点击功能,将更改覆盖功能,并且只有过期的引用。

    我也在使用点击列表器。

    但是onLongClick覆盖函数没有位置变量。

    你能给我最近的信息吗?

    `

    listView.setLongClickable(true);
    
    
    listView.setOnLongClickListener(new View.OnLongClickListener() {
    
        @Override
        public boolean onLongClick(View v) {
    
            
            return false;
        }
    
    });
    

    `

    我试着在博客中使用旧代码。但是旧的超控功能已经不存在了。

    android文档没有详细描述java的长点击。

    3 回复  |  直到 1 年前
        1
  •  1
  •   Kozmotronik Lê Tấn Thành    1 年前

    我建议您使用 RecyclerView 它在大型数据集上比Listview更新且性能更好。

    但是,如果你想继续使用 ListView 那么你想使用它 setOnItemLongClickListener 收听列表项目上的长点击。以下片段显示了它的使用方式:

    ListView yourListView;
    
    yourListView = findViewById(R.id.listview);
    
    yourListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener{
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            // Here you will have all the information you need:
            // parent is listview, view is item view that is clicked,
            // position is the item's position in the adapter, id is given automatically I think
        }
    });
    
        2
  •  0
  •   Nagoor Bhasha    1 年前

    在listview adapter中创建视图时,将您的位置设置为视图的标签,并在长点击监听器view.setTag(position)中使用view.gettag读取位置;int pos=view.getTag()

        3
  •  0
  •   Kunu    1 年前

    ListView有一个 setOnItemLongClickListener 使用它可以获得位置

    listView.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view,
                    int position, long id) {
             // TODO Auto-generated method stub
             return true;
        }
    });