2016-12-10 12 views
1

私はそのドキュメントを読んでみましたが、これを達成するためにremoveValue()を使用する必要があることを理解しています。クリックの位置を取得する方法はわかりません。私はfirebaseからリストを引き下げて、OnItemClick()を使ってリストビュー内の何かがクリックされたときにそれを削除しようとしています。私はこれが非常にシンプルで、何かが欠けているような気がします。firebaseのリストから特定のアイテムを削除するonClick

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; 

} 

} 

今、私の脳が100%死んでいるので、睡眠が36時間続く。必要

+1

onItemClick(AdapterView adapterView、ビュービュー、int型の位置、長いリットル)ここで、Iあなたの位置は – Noorul

+0

http://stackoverflow.com/a/34029120/2949612 – pRaNaY

答えて

0

この

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

    } 
}); 

のようなあなたのsetOnItemClickListenerを実装する場合、私はあなたのGradleの追加の詳細を提供することができます

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

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

それはシンボルを解決できないと言っているFirebase – Hunter

+0

あなたのgradleファイルを追加する 'com.google.firebase:firebase-core:9.0.1' – sasikumar

+0

ok Firebaseは今は持っていますが、getRefを呼び出そうとするとエラーが発生します。それはできないと言います。他のすべてはうまくいくようです。と私は自分のグラブルにそれらを追加しました – Hunter

関連する問題