Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 桌排长压力机_Android_Android Layout_Tableview_Tablerow_Long Press - Fatal编程技术网

Android 桌排长压力机

Android 桌排长压力机,android,android-layout,tableview,tablerow,long-press,Android,Android Layout,Tableview,Tablerow,Long Press,我有一个表,它是根据存在的数据量动态构建的(如果有的话) 我想能够长按表格行上的任意位置,以便能够获得一些选项来删除或编辑等。这是可能的吗?请记住,我需要在不将任何XML设置为其动态构建的情况下执行所有这些操作 这与我想要实现的目标相关吗 @override public boolean onKeyLongPress(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {

我有一个表,它是根据存在的数据量动态构建的(如果有的话)

我想能够长按表格行上的任意位置,以便能够获得一些选项来删除或编辑等。这是可能的吗?请记住,我需要在不将任何XML设置为其动态构建的情况下执行所有这些操作

这与我想要实现的目标相关吗

@override

public boolean onKeyLongPress(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) 
    {
        // do your stuff here
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}
`

任何建议都将不胜感激。

以下是我从马克·墨菲的书中改编的一些示例代码。我的名单是基于数据库的

private AdapterView.OnItemClickListener onListClick=new AdapterView.OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent,View view, int position,long id) {
        String selection= "_id=" + String.valueOf(id);
        Cursor c = db.query("commentlist", columns, selection, null, null, null, null);
        c.moveToFirst();
        checkDelete(c.getLong(0),c.getString(1));
    }
};
private void checkDelete(final long id, final String record) {
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder
        .setTitle("Delete task")
        .setMessage("Do you want to delete this task " + record + " ?")
        .setNegativeButton("No", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dlg, int sumthin) {
            }
        })
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dlg, int sumthin) {
            db.execSQL("DELETE FROM commentlist WHERE _id=" + id);
            model.requery();
            }
        })
        .show();
    }
private AdapterView.OnItemClickListener onListClick=new AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串选择=“\u id=“+String.valueOf(id);
游标c=db.query(“commentlist”,列,选择,null,null,null,null);
c、 moveToFirst();
checkDelete(c.getLong(0),c.getString(1));
}
};
私有void checkDelete(最终长id、最终字符串记录){
AlertDialog.Builder=新建AlertDialog.Builder(此);
建设者
.setTitle(“删除任务”)
.setMessage(“是否要删除此任务”+记录+”?)
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
公共void onClick(DialogInterface dlg,int sumthin){
}
})
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
公共void onClick(DialogInterface dlg,int sumthin){
db.execSQL(“从commentlist中删除,其中_id=“+id”);
model.requery();
}
})
.show();
}

注册上下文菜单以动态创建表行

调用registerForContextMenu(tableRow)并覆盖
onCreateContextMenu(ContextMenu,View,ContextMenu.ContextMenuInfo)。

阅读

谢谢您的回复。这很有帮助,但是我的数据已经被设置为tableview,我不想更改它。但找到了解决方案。:)