Android Firebase删除

Android Firebase删除,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我有一个用于删除数据的listview和adapter ImageButton,但我不知道如何通过setOnClick删除数据。我需要单击ImageButton并删除数据。我的数据类型不是空的 public class OrgManageRoom extends AppCompatActivity { private ListView listView; private ArrayAdapter<String> arrayAd

我有一个用于删除数据的listview和adapter ImageButton,但我不知道如何通过setOnClick删除数据。我需要单击ImageButton并删除数据。我的数据类型不是空的

    public class OrgManageRoom extends AppCompatActivity {

            private ListView listView;
            private ArrayAdapter<String> arrayAdapter;
            private ArrayList<String> list_of_rooms = new ArrayList<>();
        ArrayList<HashMap<String, String>> MyArrList;
        public ArrayList<String> arr;
        public ArrayAdapter adapter;

        private DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().getRoot();



        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_org_manage_room);

    //        listView = (ListView)findViewById(R.id.listView);
    //        listView.setAdapter(new ImageAdapter(this));
    //        arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list_of_rooms);
    //        listView.setAdapter(arrayAdapter);
            createAdapter();


            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                    Intent i = new Intent(OrgManageRoom.this,OrgAddUser.class);
                    startActivity(i);

                }
            });


        }

        private void createAdapter() {
            listView = (ListView)findViewById(R.id.listView);
            listView.setAdapter(new ImageAdapter(this));
            mDatabase = FirebaseDatabase.getInstance().getReference().child("AllRoom");

            mDatabase.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    Set<String> set = new HashSet<String>();
                    Iterator i = dataSnapshot.getChildren().iterator();

                    while (i.hasNext()){

                        set.add(((DataSnapshot)i.next()).getKey());

                    }

                    list_of_rooms.clear();
                    list_of_rooms.addAll(set);

    //                arrayAdapter.notifyDataSetChanged();

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }


        public class ImageAdapter extends BaseAdapter {
            private Context context;

            public ImageAdapter(Context c) {
                // TODO Auto-generated method stub
                context = c;
            }

            public int getCount() {
                // TODO Auto-generated method stub
                return list_of_rooms.size();
            }

            public Object getItem(int position) {
                // TODO Auto-generated method stub
                return position;
            }

            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return position;
            }

            public View getView(final int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub

                LayoutInflater inflater = (LayoutInflater) context
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

                if (convertView == null) {
                    convertView = inflater.inflate(R.layout.deleteroom, null);
                }

                // ColImgID
                TextView txtPosition = (TextView) convertView.findViewById(R.id.ColImgDesc);
                txtPosition.setPadding(10, 0, 0, 0);
                txtPosition.setText(list_of_rooms.get(position));

                ImageButton cmdShared = (ImageButton) convertView.findViewById(R.id.imgCmdShared);
                cmdShared.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        Toast.makeText(OrgManageRoom.this, "test" + list_of_rooms.get(position), Toast.LENGTH_LONG).show();

                    }
                });

                return convertView;

            }

        }
    }
公共类OrgManagerRoom扩展AppCompative活动{
私有列表视图列表视图;
专用阵列适配器阵列适配器;
private ArrayList list_of_rooms=新建ArrayList();
ArrayList MyArrList;
公共ArrayList arr;
公共阵列适配器;
私有数据库引用mDatabase=FirebaseDatabase.getInstance().getReference().getRoot();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u org\u manage\u room);
//listView=(listView)findViewById(R.id.listView);
//setAdapter(新的ImageAdapter(this));
//arrayAdapter=新的arrayAdapter(这是android.R.layout.simple\u list\u item\u 1,list\u of\u rooms);
//setAdapter(arrayAdapter);
createAdapter();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
意图i=新意图(OrgManagerRoom.this,OrgAddUser.class);
星触觉(i);
}
});
}
私有void createAdapter(){
listView=(listView)findViewById(R.id.listView);
setAdapter(新的ImageAdapter(this));
mDatabase=FirebaseDatabase.getInstance().getReference().child(“AllRoom”);
mDatabase.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
Set=newhashset();
迭代器i=dataSnapshot.getChildren().Iterator();
while(i.hasNext()){
set.add(((DataSnapshot)i.next()).getKey());
}
列出所有房间。清除();
房间列表。添加所有(套);
//arrayAdapter.notifyDataSetChanged();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}
公共类ImageAdapter扩展了BaseAdapter{
私人语境;
公共图像适配器(上下文c){
//TODO自动生成的方法存根
上下文=c;
}
public int getCount(){
//TODO自动生成的方法存根
返回房间的列表。大小();
}
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回位置;
}
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
LayoutFlater充气器=(LayoutFlater)上下文
.getSystemService(上下文布局\充气机\服务);
if(convertView==null){
convertView=充气机。充气(R.layout.deleteroom,空);
}
//大肠杆菌
TextView txtPosition=(TextView)convertView.findViewById(R.id.ColImgDesc);
设置填充(10,0,0,0);
txtPosition.setText(房间列表.get(位置));
ImageButton cmdShared=(ImageButton)convertView.findViewById(R.id.imgCmdShared);
cmdShared.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
Toast.makeText(OrgManagerRoom.this,“test”+列出所有房间。get(position),Toast.LENGTH_LONG.show();
}
});
返回视图;
}
}
}
抱歉,我编辑了所有代码,并使project chat firebase和show listview listroom用于添加用户和删除用户以及管理室。它删除房间编辑名称房间。同样,我需要单击imagebutton以删除列表室