这是我的代码,我收到以下错误消息:
“java.lang.IndexOutOfBoundsException:索引:1,大小:0”请提供帮助。我的应用程序应该使用AllWords列表,我不知道为什么当我使用SharedReferences添加了很多单词时,会看到大小为0。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_library);
sp = getSharedPreferences("Words", Context.MODE_PRIVATE);
word1 = findViewById(R.id.word1);
AllWords = GetAllWords();
word1.setText(AllWords.get(1).toString());
}
public List<String> GetAllWords (){
List<String> AllWords = Collections.synchronizedList(new ArrayList<String>());
for(int i=0 ; i<sp.getInt("size",0) ; i++){
AllWords.add(sp.getString("i",""));
}
return AllWords;
}
SharedReferences
使用String
键,而不是int
。当您使用字符串literal“i”
读取或写入SharedReferences
时,您并没有按照自己的想法为项目编制索引。您正在存储一个值,并且可能多次将其过度写入。
我想使用来表示优先级队列。所以我想在ArrayList的特定位置添加项。但当我运行它时,系统告诉我 线程“main”java.lang.IndexOutOfBoundsException:索引:10,大小:0。
正如标题所说,我的问题是,当我编译时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:1,Size:1中得到了Exception。这是问题产生的部分。 编辑。 我一直在网上寻找解决方案,所以我很确定问题是数组太小,但我仍然不确定如何解决它。我试图让代码的上半部分只从数组中取出数字并将它们放入一个新的数组中。 这是我调用的其他方法。 我已经坚持
我试图从我的sqlite数据库中获取一行。当我运行这行代码时:- 我得到以下错误:- android.database.CursorIndexOutOfBoundsException:请求索引0,大小为0 有人能帮我解决这个问题吗?感谢任何帮助或建议。谢谢你。
我得到错误java.lang.IndexOutOfBoundsException:index:0,size:0。
我得到以下错误: android.database.CursorIndexOutOfBoundsException:请求索引0,大小为0。 根据该代码: 和这个类:错误:
我正在尝试从数据库的某一行获取文本。为此,我做了这个函数 我这样称呼它: 我的桌子看起来像这样: 我得到这个错误: 为什么我会犯这个错误?我做错了什么? 提前感谢。