【发布时间】:2017-01-04 12:11:08
【问题描述】:
我正在尝试通过其 objectId 删除我的带有 Backendless 的 Table Books 的对象。参考 Backendless 文档,我在 BookDetailActivity 中尝试了以下代码:
//inside onCreate
deleteButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
deleteBook();
}
});
//outside onCreate
public void deleteBook()
{
HashMap book = new HashMap();
Bundle b = getIntent().getExtras();
String object_id = b.getString("objectId");
book.put( "ObjectId", object_id );
Backendless.Persistence.of( "Books" ).remove( book, new AsyncCallback<Long>() {
@Override
public void handleResponse(Long aLong) {
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
}
});
Toast.makeText(getApplicationContext(), "book deleted", Toast.LENGTH_LONG).show();
Intent i = new Intent(this, BooksListActivity.class);
startActivity(i);
}
所选图书的 ID 是正确的,但不会删除完整的对象(带有作者、发布日期、描述...的图书)。问题出在哪里?非常感谢。
【问题讨论】:
-
您创建了
HashMap图书,但没有添加任何值,您是否遗漏了什么?也许添加book.put("book_id",object_id );? -
还添加了一些日志到
handleResponse()和handleFault() -
对不起,我复制时漏了一行,但问题还是一样!
-
我修复了它,这是一个打字错误...我使用“ObjectId”而不是“objectId”。
标签: android android-intent hashmap backendless