Android 桌排长压力机
我有一个表,它是根据存在的数据量动态构建的(如果有的话) 我想能够长按表格行上的任意位置,以便能够获得一些选项来删除或编辑等。这是可能的吗?请记住,我需要在不将任何XML设置为其动态构建的情况下执行所有这些操作 这与我想要实现的目标相关吗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) {
@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,我不想更改它。但找到了解决方案。:)