I tried some very simple tests with a fragment. But Icepick doesn't seem to store the value of the String test in the outState package ...
public class MyFragment extends Fragment { @Icicle String test; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Icepick.restoreInstanceState(this,savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
My gradle build looks like this:
apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.my31daychallenge.mysleepchallenge" minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0' compile 'com.jakewharton.threetenabp:threetenabp:1.0.1' apt 'com.bluelinelabs:logansquare-compiler:1.1.0' compile 'com.bluelinelabs:logansquare:1.1.0' compile 'com.jakewharton:butterknife:7.0.1' compile 'frankiesardo:icepick:3.0.0' provided 'frankiesardo:icepick-processor:3.0.0' }
Note. I tried the latest version of Icepick 3.0.2 and 3.0.3-SNAPSHOT, none of them worked, so I decided to use an earlier version with the same result.
and:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() maven {url "https://clojars.org/repo/"} } }
What am I missing?
source share