package com.resturant.vivaatech.resturantapp.Adapters; import android.support.v7.widget.RecyclerView; import android.util.SparseBooleanArray; import android.widget.Filter; import java.util.ArrayList; import java.util.List; /** * Created by arifh_000 on 6/14/2016. */ public abstract class SelectableAdapter<VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> { @SuppressWarnings("unused") private static final String TAG = SelectableAdapter.class.getSimpleName(); private SparseBooleanArray selectedItems; public SelectableAdapter () { selectedItems = new SparseBooleanArray (); } /** * Indicates if the item at position position is selected * @param position Position of the item to check * @return true if the item is selected, false otherwise */ public boolean isSelected(int position) { return getSelectedItems().contains(position); } /** * Toggle the selection status of the item at a given position * @param position Position of the item to toggle the selection status for */ public void toggleSelection(int position) { if (selectedItems.get(position, false)) { selectedItems.delete(position); } else { selectedItems.put(position, true); } notifyItemChanged(position); } /** * Clear the selection status for all items */ public void clearSelection() { List<Integer> selection = getSelectedItems(); selectedItems.clear(); for (Integer i : selection) { notifyItemChanged(i); } } /** * Count the selected items * @return Selected items count */ public int getSelectedItemCount() { return selectedItems.size(); } /** * Indicates the list of selected items * @return List of selected items ids */ public List<Integer> getSelectedItems() { List<Integer> items = new ArrayList<>(selectedItems.size()); for (int i = 0; i < selectedItems.size(); ++i) { items.add(selectedItems.keyAt(i)); } return items; } }
মাস অগাষ্ট 2016
How to prevent fragments from multiple instance
private void replaceFragment (Fragment fragment){
String backStateName = fragment.getClass().getName();
FragmentManager manager = getSupportFragmentManager();
boolean fragmentPopped = manager.popBackStackImmediate (backStateName, 0);
if (!fragmentPopped){ //fragment not in back stack, create it.
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.addToBackStack(backStateName);
ft.commit();
}
}
For my case:
I have declared it in a class
public static void replaceFragment (FragmentManager manager,Fragment fragment){ String backStateName = fragment.getClass().getName(); String fragmentTag = backStateName; boolean fragmentPopped = manager.popBackStackImmediate(backStateName, 0); if (!fragmentPopped && manager.findFragmentByTag(fragmentTag) == null) { //fragment not in back stack, create it. FragmentTransaction ft = manager.beginTransaction(); ft.replace(R.id.fragmentContainer, fragment, fragmentTag); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); ft.addToBackStack(backStateName); ft.commit(); } }
and used it as :
Functions.replaceFragment(getFragmentManager(),new OrderFoodTypeFragment());
Reference :
Open Android setting page Programaticallu
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
link:http://stackoverflow.com/questions/19517417/opening-android-settings-programmatically
How to Add customize Android DialogFragment
public class ColorDialogFragment extends SherlockDialogFragment {
public ColorDialogFragment() {
//You need to provide a default constructor
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_color_picker, container);
// R.layout.dialog_color_picker is the custom layout of my dialog
WindowManager.LayoutParams wmlp = getDialog().getWindow().getAttributes();
wmlp.gravity = Gravity.LEFT;
return view;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_FRAME, R.style.colorPickerStyle);
// this setStyle is VERY important.
// STYLE_NO_FRAME means that I will provide my own layout and style for the whole dialog
// so for example the size of the default dialog will not get in my way
// the style extends the default one. see bellow.
}
}
<style name="colorPickerStyle" parent="Theme.Sherlock.Light.Dialog">
<item name="android:backgroundDimEnabled">false</item>
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style
i Have done it as :
<style name="colorPickerStyle" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:backgroundDimEnabled">true</item> <item name="android:cacheColorHint">@android:color/white</item> <item name="android:windowBackground">@android:color/white</item> </style>
http://stackoverflow.com/questions/14946887/setting-the-size-of-a-dialogfragment