java - 从 listView Firebase 中删除项目
问题描述
当我打开“Eventos”视图时遇到这个问题,我试图从数据库中删除列表视图中的选定项目。
公共类 ShowData 扩展 AppCompatActivity {
DatabaseReference databaseReference;
ListView listView;
ArrayList<String> arrayList = new ArrayList<>();
ArrayAdapter<String> arrayAdapter;
Button btnDelete;
Module module;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_data);
databaseReference = FirebaseDatabase.getInstance().getReference("Eventos");
listView = (ListView) findViewById(R.id.listViewShow);
btnDelete = (Button) findViewById(R.id.btnBorrarElemento);
module=((Module)getApplication());
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(arrayAdapter); .....
... listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> paramAdapterView, View view, int position, long id) {
module.setGvalue_titulo(arrayList.get(position));
module.setGvalue_descripcion(arrayList.get(position));
module.setGvalue_fecha(arrayList.get(position));
module.setGvalue_url(arrayList.get(position));
}
});
btnDelete.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
final String str = module.getGvalue_titulo().substring(0, 6);
if(str == ""){
Toast.makeText(ShowData.this, "No se ha seleccionado ningun elemento para eliminar", Toast.LENGTH_SHORT).show();
}
else {
databaseReference.child("Eventos").child(str).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
databaseReference.child(str).removeValue();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Toast.makeText(ShowData.this, "Evento Eliminado", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext(),ShowData.class);
startActivity(intent);
}
}
}); ....
该模块具有 getter 和 setter 必需品:
在我的清单中,我有这个:
解决方案
您的问题是您正在尝试将您的Application
转换为Module
,但事实并非如此Module
。那么,您是否已将您的Module
自定义应用程序实现注册为您的AndroidManifest.xml
?如果答案是“不”,那么这就是确切的原因!按照这个答案检查如何轻松完成。
推荐阅读
- python - 无法定义主键
- google-cloud-platform - Flink rest api error: Request did not match expected format JarRunRequestBody
- laravel - Storing data from database to javascript using Laravel
- java - Mockito spy 使用 org.mockito.exceptions.misusing.WrongTypeOfReturnValue 返回模拟对象
- bash - Azure DevOps bash 脚本内联与路径不同的输出
- spring - Spring Boot - 无法发送带有附件的电子邮件
- python - 'RepeatedScalarFieldContainer' 对象没有属性 'add'
- django - 将内存 zip 文件写入 django FileField
- macos - MacOSX 10.14 上带有 Qt Quick (5.6.2) 的黑色窗口
- angular - 控制台错误为 Endpoint unreachable 并且应用程序无法加载