首先,我想为我可怜的英语道歉.
我刚刚开始使用android studio进行冒险并遵循一些教程,我对其中一个有疑问.我在很多地方寻找这个答案,但我发现没有一个能满足我的需求.
我在android studio中创建了一个聊天应用程序,使用FIREBASE作为后端数据库,但我想为它添加一些额外的功能.即删除项目.
我会在这里发布我的代码,有人可以告诉我如何能够删除我从FirebaseListAdapter中按下的项目.
主要活动:
public class MainActivity extends ListActivity { private Firebase mFirebaseRef; FirebaseListAdaptermListAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Firebase.getDefaultConfig().setPersistenceEnabled(true); Firebase.setAndroidContext(this); mFirebaseRef = new Firebase("https://shining-heat-1471.firebaseio.com"); final EditText textEdit = (EditText) this.findViewById(R.id.text_edit); Button sendButton = (Button) this.findViewById(R.id.send_button); sendButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = textEdit.getText().toString(); ChatMessage message = new ChatMessage("Android User", text); mFirebaseRef.push().setValue(message); textEdit.setText(""); } }); mListAdapter = new FirebaseListAdapter (this, ChatMessage.class, android.R.layout.two_line_list_item, mFirebaseRef) { @Override protected void populateView(View v, ChatMessage model) { ((TextView)v.findViewById(android.R.id.text1)).setText(model.getName()); ((TextView)v.findViewById(android.R.id.text2)).setText(model.getText()); } }; setListAdapter(mListAdapter); } @Override protected void onDestroy() { super.onDestroy(); mListAdapter.cleanup(); }
ChatMessage:
public class ChatMessage { private String name; private String text; public ChatMessage() { // necessary for Firebase's deserializer } public ChatMessage(String name, String text) { this.name = name; this.text = text; } public String getName() { return name; } public String getText() { return text; } }
Frank van Pu.. 7
我要把它留给你要弄清楚用户点击什么项目(但是这可能是一个良好的开端).
一旦您知道用户点击的项目的位置,您就可以使用以下方法轻松地将其从Firebase中删除:
Firebase itemRef = adapter.getRef(position); itemRef.removeValue();
这将从数据库和列表适配器中删除该项.
我要把它留给你要弄清楚用户点击什么项目(但是这可能是一个良好的开端).
一旦您知道用户点击的项目的位置,您就可以使用以下方法轻松地将其从Firebase中删除:
Firebase itemRef = adapter.getRef(position); itemRef.removeValue();
这将从数据库和列表适配器中删除该项.