【问题标题】:How to use onClick and onLongPress in ListActivity?如何在 ListActivity 中使用 onClick 和 onLongPress?
【发布时间】:2015-08-09 16:07:21
【问题描述】:

我想创建一个列表视图,我们可以从中使用 onclick 并在其中长按一个上下文菜单。代码是

public class MainActivity extends ListActivity{

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String quizlist[]={"Normal","MCQ 2 Options","MCQ 3 options","MCQ 4 Options"};
        ArrayAdapter<String> ab=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,quizlist);
        setListAdapter(ab);
    }
}    

提前致谢

【问题讨论】:

    标签: android-activity onclicklistener listactivity onlongclicklistener


    【解决方案1】:

    您可以在ListView 上注册AdapterView.OnItemLongClickListener。所以你需要做的是找到列表视图:

    onCreate试试

    ((ListView) getView).setOnItemLongKlickListener(...)
    

    ((ListView) findViewById(<the id of your list view>).setOnItemLongKlickListener(...)
    

    在实现OnItemLongClickListener 时,您必须重写onItemLongClick 方法:

    来自documentation

    public abstract boolean onItemLongClick (AdapterView<?> parent, View view, int position, long id)
    

    在 API 级别 1 中添加了当项目进入时要调用的回调方法 此视图已被点击并保持。实施者可以调用 getItemAtPosition(position) 如果他们需要访问相关的数据 与所选项目。

    Parameters 
    parent      The AbsListView where the click happened 
    view        The view within the AbsListView that was clicked 
    position    The position of the view in the list 
    id          The row id of the item that was clicked
    
    Returns true if the callback consumed the long click, false otherwise
    

    所以,parent 就是你的ListViewview 是“长按”列表项的视图。 position 是列表中的位置,因此也是数组中的位置。对于id,我不确定默认实现是返回常量还是position

    【讨论】:

    • 你能解释一下这里的每个参数代表什么吗? AdapterView.OnItemClickListener ss=new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) { } };
    • 1) OnItemClickListener 是错误的。你想要一个 OnItemLongClickListener; 2)我会在我的答案中添加一些东西。
    • 两个监听器的参数相同
    猜你喜欢
    • 1970-01-01
    • 2011-12-17
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    相关资源
    最近更新 更多