- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
单击 ListView 时,它会从 ListView 索引处删除该值,但不会再次从该索引中删除该值。
例如,它会从索引 1 中删除该值,如果我删除该值,它不会从索引 1 中删除。如果选择其他索引,则会从另一个索引中删除
onItemLongClickListener(Book.class)
lview.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View
view, int i, long l) {
String parse = String.valueOf(i);
Integer deletedrows = mydb.DeleteData(String.valueOf(i));
if(deletedrows > 0 )
{
Toast.makeText(BookList.this, "deleted" + parse, Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(BookList.this, "not Deleted" + parse, Toast.LENGTH_SHORT).show();
}
return true;
}
在 ListView (Book.class)上设置数据
public void getdata()
{
ListAdapter lviewAdapter;
ArrayList<HashMap<String, String>> userList;
userList = mydb.getalldata();
if(userList.isEmpty())
{
showdata("Error","Nothing Found");
return;
}
ArrayList list = new ArrayList();
StringBuffer buffer = new StringBuffer();
lviewAdapter = new SimpleAdapter(BookList.this, userList,
R.layout.book_custom_list,
new String[]{"ID","url","title"},
new int[]{ R.id.customid,R.id.customurl,R.id.customtitle});
lview.setAdapter(lviewAdapter);
}
getdata方法(Database Helper.class)
public ArrayList<HashMap<String, String>> getalldata()
{
SQLiteDatabase db = this.getWritableDatabase();
ArrayList<HashMap<String, String>> userList = new ArrayList<>();
Cursor cursor = db.rawQuery("select * from " + TABLE_NAME,null);
while (cursor.moveToNext()){
HashMap<String,String> user = new HashMap<>();
user.put("ID",cursor.getString(cursor.getColumnIndex(Id_name)));
user.put("title",cursor.getString(cursor.getColumnIndex(title_name)));
user.put("url",cursor.getString(cursor.getColumnIndex(url_name)));
userList.add(user);
}
return userList;
删除数据也会影响 ListView 中显示的id,希望将id按顺序更改为1,2,3。谢谢
最佳答案
试试这个,
lview.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View
view, int i, long l) {
String parse = String.valueOf(i);
//Add this code when you try to delete the item
try{
SQLiteDatabase db = getWritableDatabase();
String query = "delete from TABLE_NAME where id like "+"'"+(ListView_ID)+"'";
db.delete(TABLE_ORDERS, KEY_LISTVIEW_ID + "='" + LISTVIEW_ID+ "'", null);
Cursor cursor = db.rawQuery(query,null);
cursor.close();
//Now set the Data in the ListView from the database after you delete the item
getFreshData();
}
catch (Exception e){
Log.e("order_proof",""+e);
}
return true;
}
private void getFreshData(){
String query = "SELECT * FROM TABLE_NAME";
ArrayList<HashMap<String, String>> userList = new ArrayList<>();
Cursor cursor = db.rawQuery("select * from " + TABLE_NAME,null);
while (cursor.moveToNext()){
HashMap<String,String> user = new HashMap<>();
user.put("ID",cursor.getString(cursor.getColumnIndex(Id_name)));
user.put("title",cursor.getString(cursor.getColumnIndex(title_name)));
user.put("url",cursor.getString(cursor.getColumnIndex(url_name)));
userList.add(user);
}
return userList;
//populate this list in the ListView.
}
添加此代码后请告诉我@Harpreet。
关于java - 从 ListView 和数据库以及 onitemlongclick 监听器中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56287120/
我试图在 ListView 项中实现长按,但它不起作用,并且收到一条错误消息,指出未定义。代码如下: protected void setOnItemLongClickListener(ListVie
我想创建一个联系人列表(就像 SMS 应用程序一样),如果用户单击其中一个联系人,我会将他们带到 SMSReply 类,如下所示: public void onItemClick(AdapterVie
如何将 GestureDetector 与 onItemLongClick 集成? 我有一个包含三个图像的 GridView。当我触摸第一张图片时,我想显示 Toast 消息。当我从屏幕上抬起手指时,
我试图在这里得到答案,但没有得到任何完美的答案。我试图在 onItemLongClick 上显示上下文菜单,但没有成功,因为我同时使用了 onItemLick 和 onItemLongClick 我正
下面的 ExpandableListView.getPackedPositionChild(id) 始终返回 0。组位置是正确的,但我无法获取正确的子位置。下面的代码有什么问题? @Override
ExpandableListView.getPackedPositionChild(id) 始终返回 0。组位置正确,但我无法获得正确的子位置。下面的代码有什么问题? @Override pu
我有一个包含所有已安装应用程序的 ListView 。我需要 onItemLongClick 卸载我在 ListView 中单击的应用程序。 onItemLongClick 的起始代码是这样的: @O
我一直在寻找没有运气,这是我的代码 // Product List public void setProductList() { productDB = new Databas
我正在开发 Android 应用程序。 我想显示联系人列表(使用 listview)并且我想添加 2 个警报对话框:一个由 onItemClickListener 和另一个由 onItemLongCl
已实现 OnItemLongClickListener。当 LongClicked 列表项时,我启用相关列表项的按钮。 LongClicked 按钮成功启用后,但不会触发 onListItemClic
我正在使用自定义 ListView,它实现了拖动元素以重新排序它们。重新排序是通过长按启动的。 我还想通过一次短按打开列表中每个元素的上下文菜单,就像这样(来自包含 ListView 的 fragme
我正在 android ListView 上实现 LongClick 监听器。这是我为此使用的代码, this.lst_CartDetails.setLongClickable(true);
我的 Android 应用程序由 SQLite 数据库组成,该数据库使用用户保存的数据填充各个 ListView 项。这些项目可在 activity_main.xml 中显示。我有一个名为 Recor
单击 ListView 时,它会从 ListView 索引处删除该值,但不会再次从该索引中删除该值。 例如,它会从索引 1 中删除该值,如果我删除该值,它不会从索引 1 中删除。如果选择其他索引,则会
所以我有一个带有条形 fragment (ListFragment) 和团队 fragment (ListFragment) 的 FragmentPagerAdapter。当一个项目被长按时,我希望能
我有一个 Android 应用程序。在派生自 ListActivity 的 Activity 之一中,我实现了 OnItemLongClickListener。我想在相关列表项中启用删除按钮,其中 L
我有一个 ListView,其中包含布局文件 entry.xml 给出的条目 我想从 ImageView 可见性设置为 View.GONE 和 onItemLongClick 将其更改为 View.V
我试图在用户执行 Listview 的 onItemLongClick 时显示一个对话框,以确认用户是否想要这样做,但在 adb.show( ): The specified child alread
对于那些遇到和我一样的问题的人,我会把它留在这里: 我试图为 ExpandableListView 设置一个 OnItemLongClickListener 并想知道哪个组被点击了。根据此处关于 SO
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我是一名优秀的程序员,十分优秀!