java - 无法使用 getRef() 吗?

标签 java android firebase firebase-realtime-database firebaseui

任何人都可以解释为什么这说我无法使用 getRef 来获取被单击的位置吗?从我查到的所有内容来看,这应该有效,但由于某种原因却无效。

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) {

            Firebase itemtoremove = restaurantListAdapter.getRef(i);
            //I get an error here saying I can't use .getRef()
            itemtoremove.removeValue();


        }
    });
    return view;

  }
 }

最佳答案

您已声明restaurantListAdapter 为ListAdapter。即使您将 FirebaseListAdapter 对象放入该字段,您也只能访问 ListAdapter 上定义的方法。

解决方案是将字段声明为 FirebaseListAdapter:

FirebaseListAdapter restaurantListAdapter;

关于java - 无法使用 getRef() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41077476/

相关文章:

java - 卸载 Java Mac OS X

java - 线路旋转: Processing

android - 如何通过计算的经纬度获取位置

javascript - 运行目录中的所有文件

javascript - 在 firebase 数据库中搜索具有特定键值的元素对象

firebase - “task.future.then ”不断在我的Flutter代码中引发错误

java - 在网格顶部绘图

java - 如何将外部非 Android Eclipse 库项目包含到 Android-Studio 项目中,而无需复制/移动/编辑?

并行运行的 Android Intent Service 工作请求

android - 来自 Android 抽屉的 ViewDragHelper 的过多日志