Friday 21 July 2017

Sorting : POJO Particular attribute



Now, I am sorting Arraylist.

ABOVE OR EQUAL API LEVEL-24

STEP-1 : 

frontAL.sort(Comparator.comparingDouble(ApiToViewModel::getPrice).reversed()); 

BELOW API LEVEL-24
STEP-1 :
Collections.sort(arraylist_object, new ComparatorClass());
STEP-2:

public class ComparatorClass implements Comparator<ApiToViewModel> {
    public int compare(ApiToViewModel p1, ApiToViewModel p2) {
        // FOR DESCENDING ORDER        if (p1.getPrice() < p2.getPrice()) return 1;
        if (p1.getPrice() > p2.getPrice()) return -1;
        // FOR ASCENDING ORDER        /*if (p1.getPrice() < p2.getPrice()) return -1;        if (p1.getPrice() > p2.getPrice()) return 1;        */        return 0;
    }
}


22

Thursday 13 July 2017

Calling Activity from Class


Navigator.class


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;



public class Navigator {

    private static Navigator instance;

    public static Navigator getInstance() {
        if (instance == null) {
            instance = new Navigator();
        }
        return instance;
    }



    public void navigateToActivity(Activity activity, Class<?> toClass) {
        Intent intent = new Intent(activity, toClass);
        activity.startActivity(intent);
        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
    }


    public void navigateToActivityWithData(Activity activity, Class<?> toClass, String name) {
        Intent intent = new Intent(activity, toClass);
        intent.putExtra("name", name);
        activity.startActivity(intent);
        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
    }
    public void navigateToActivityWithBundleData(Activity activity, Class<?> toClass, Bundle bundle) {
        Intent intent = new Intent(activity, toClass);
        intent.putExtras(bundle);
        activity.startActivity(intent);
        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
    }


}


To call another activity from button or anywhere


Navigator.getInstance().navigateToActivityWithBundleData(CurrentClass.this, DestinationClass.class, bundle);