首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sharred preference null指针异常

sharred preference null指针异常
EN

Stack Overflow用户
提问于 2011-10-05 14:31:12
回答 4查看 122关注 0票数 0
代码语言:javascript
复制
//Activity-- mTweetApp.SetCaseInfo(type,teet); //storing in another class

public void SetCaseInfo(String PatientType,ArrayList arr){
   // All objects are from 
   SharedPreferences settings =setSharedPreferences(DEALSPOTR_PREFS,0);
   SharedPreferences.Editor editor = settings.edit();
   editor.putInt("arrayLength",arr.size());
   for(int i=0; i<=arr.size(); i++){
      editor.putInt("Teethsselected"+String.valueOf(i), (Integer) arr.get(i));
   }
   editor.putString("view", PatientType);
   for(int i=0; i<=arr.size(); i++){
       System.out.println("Teethsselected-----"+(Integer) arr.get(i)+"type--->"+PatientType);
   }
}

public void getCaseInfo() {
   SharedPreferences settings =getSharedPreferences(DEALSPOTR_PREFS, 0);
   int arraySize = settings.getInt("arrayLength", 0); 
   int teeth[] =new int[arraySize];
   for(int i=0; i<arraySize; i++){
      teeth[i] = ettings.getInt("Teethsselected"+String.valueOf(i),0);
   } 
   String type =settings.getString("view"," ");
}

如何解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-05 14:46:36

首先,在编写pref值时,不要调用commit()

其次,首选文件不会写入/data/data/com.package.App/shared_prefs/pref_file.xml,因此在读取SharedPreferences对象时为NULL。

票数 0
EN

Stack Overflow用户

发布于 2011-10-05 14:42:12

您不提交您的更改。将editor.commit();放入您的set方法中。

票数 3
EN

Stack Overflow用户

发布于 2011-10-05 14:44:38

SharedPreferences.Editor修改应该是commited的。

代码语言:javascript
复制
   //Your code
   editor.putString("view", PatientType);
   for(int i=0; i<=arr.size(); i++){
       System.out.println("Teethsselected-----"+(Integer) arr.get(i)+"type--->"+PatientType);
   }
   //ADD THIS
   editor.commit();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7657493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档