2015-07-20 28 views
5

Bir parça ile çok basit testler denedim. Ama IcepickIcepick bozuk mu?

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) { 
     // Inflate the layout for this fragment 
     View view = inflater.inflate(R.layout.fragment_settings, container, false); 
     Log.d(TAG,"restored value of test="+test); 
     return view; 
    } 

    @Override 
    public void onSaveInstanceState(Bundle outState) { 
     test="I have a value"; 
     super.onSaveInstanceState(outState); 
     Icepick.saveInstanceState(this,outState); 
     Log.d(TAG, "test="+test); 
    } 

Benim gradle inşa şöyle ... OUTSTATE pakette String test değerini tasarrufu görünmüyor:

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' 
} 

Not, ben Icepick son sürümünü denedik 3.0.2 ve 3.0.3-SNAPSHOT, bunların hiçbiri işe yaramadı, bu yüzden aynı sonuca sahip daha önceki bir sürümü kullanmayı düşündüm.

ve ayrıca:

// 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/"} 
    } 
} 

ben eksik?

+0

hala bu görüyoruz? Kütüphanenin 3.1.0 sürümünde aynı sorunu yaşıyorum. – fractalwrench

cevap

0

bu hat provided 'frankiesardo:icepick-processor:3.0.0' değişim providedapt için, sizin build.gradle dosyasında sizin

Icepick.restoreInstanceState(this, savedInstanceState); 
onCreateView() içinde

(yerine onCreate olarak)