【发布时间】:2016-12-10 16:07:46
【问题描述】:
谁能解释为什么这说我不能使用 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;
}
}
【问题讨论】:
-
没有
getRef()方法ListAdapter也没有它的父类Adapter。getRef()似乎是FirebaseListAdapterfirebaseui.com/docs/android/com/firebase/ui/… 的一种方法 -
我正在尝试在 FirebaseListAdapter 上使用它 - restaurantListAdapter 是 Firebase 列表适配器
-
不,这不是...你的声明是
ListAdapter restaurantListAdapter;...这绝对不是FirebaseListAdapter
标签: java android firebase firebase-realtime-database firebaseui