Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用onClick从firebase中的列表中删除特定项_Java_Android_Firebase - Fatal编程技术网

Java 使用onClick从firebase中的列表中删除特定项

Java 使用onClick从firebase中的列表中删除特定项,java,android,firebase,Java,Android,Firebase,我已经阅读了有关它的文档,我知道我需要使用removeValue()来完成这项工作,我只是不知道如何获取单击的位置。我正在从firebase下拉列表,并尝试使用OnItemClick()来表示,只要单击listview中的某个内容,它就会被删除。我觉得这太简单了,我只是错过了一些东西 public class DeleteChoiceListFragment extends Fragment { DatabaseReference mRootRef = FirebaseDatabase.get

我已经阅读了有关它的文档,我知道我需要使用removeValue()来完成这项工作,我只是不知道如何获取单击的位置。我正在从firebase下拉列表,并尝试使用OnItemClick()来表示,只要单击listview中的某个内容,它就会被删除。我觉得这太简单了,我只是错过了一些东西

public class DeleteChoiceListFragment extends Fragment {

DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference mRestReference = mRootRef.child("restaurants");

List<String> listofrest = new ArrayList<String>();
ListView restaurantListView;
ListAdapter restaurantListAdapter;





public DeleteChoiceListFragment(){}

@Override
public View onCreateView(LayoutInflater inflater,  ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.restaurant_selection_list_frag,container,false);
    restaurantListView = (ListView) view.findViewById(R.id.restaurantListView);

    restaurantListAdapter = new FirebaseListAdapter<Restaurants>(getActivity(),Restaurants.class,R.layout.individual_restaurant_name_nocheckbox,mRestReference) {
        @Override
        protected void populateView(View v, Restaurants model, final int position) {
            TextView restName = (TextView) v.findViewById(R.id.restname);
            restName.setText(model.getName());

            listofrest.add(position,model.getName());
        }
    };

    restaurantListView.setAdapter(restaurantListAdapter);
    restaurantListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {


        }
    });
    return view;

}

}
公共类DeleteChoiceListFragment扩展了片段{
DatabaseReference mRootRef=FirebaseDatabase.getInstance().getReference();
DatabaseReference mRestReference=mRootRef.child(“餐厅”);
List-listofrest=new-ArrayList();
ListView餐厅ListView;
ListAdapter restaurantListAdapter;
公共DeleteChoiceListFragment(){}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(右布局。餐厅\选择\列表\框架,容器,错误);
restaurantListView=(ListView)view.findViewById(R.id.restaurantListView);
restaurantListAdapter=新的FirebaseListAdapter(getActivity(),Restaurants.class,R.layout.individual\u restaurant\u name\u nocheckbox,mreReference){
@凌驾
受保护的void populateView(视图v、餐厅模型、最终int位置){
TextView restName=(TextView)v.findviewbyd(R.id.restName);
restName.setText(model.getName());
添加(position,model.getName());
}
};
setAdapter(restaurantListAdapter);
restaurantListView.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
}
});
返回视图;
}
}

我现在36个小时不睡觉,所以我的大脑100%死了。如有必要,我可以提供更多细节

像这样实现您的setOnItemClick侦听器

restaurantListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    Firebase itemtoRemove = restaurantListAdapter.getRef(i);
    itemtoRemove.removeValue();

    }
});

onItemClick(AdapterView AdapterView,View View,int position,long l)在这里,我是你的位置添加你的gradle文件编译'com.google.firebase:firebase core:9.0.1'好的,我现在有firebase,但我在尝试调用getRef时出错。说不可能。其他一切似乎都很好。我将这些添加到我的gradlespecific error is error:(70,53)error:找不到符号方法getRef(int)Reference@sasikumar请不要混合Firebase版本。如果要使用9.8.0,请使用该版本的所有Firebase库。
compile 'com.google.firebase:firebase-core:9.0.1'

compile 'com.google.firebase:firebase-database:9.0.1'