这里有一些问题,希望你能帮助我。
让我先澄清一下情况:
我有一个静态整数数组,其中内部是 R.drawable.images。代码如下
private Integer[] imageIDs = {
//R.drawable.medal_my_first_perxtamp,
R.drawable.medal..._gray,
R.drawable.medal_y...te_me_gray,
R.drawable.medal_t...ring_gray,
R.drawable.medal_gi...ray,
R.drawable.medal_a..._gray,
R.drawable.medal_se..gray,
R.drawable.medal_p...._gray,
R.drawable.medal_m..._gray,
R.drawable.medal_lo.._gray,
R.drawable.m..._gray,
R.drawable.med..,
R.drawable.med..on_gray
};
现在我要做的是根据条件更改 imageIDs 的值,所以现在我在 getview 上添加了这段代码
sqlAdapter = new SQLiteAdapter(mContext);
sqlAdapter.openToRead();
List<Integer> imageIDList = Arrays.asList(imageIDs);
String query2="Select achievementID from achievementdata_tb where memberID = 101";
Cursor cursor2 =sqlAdapter.read(query2);
if (cursor2 != null && cursor2.moveToFirst()) {
while(cursor2.moveToNext()){
val =cursor2.getString(0);
int val2 = Integer.parseInt(val);
String returnDrawable = getDrawables(val);
int intReturnDrawable = Integer.parseInt(returnDrawable);
imageIDList.set(val2, intReturnDrawable);
}
}
请注意,我从数据库(成就 ID)中获取值,值为 (6,2,3)
所以我所做的是一个一个地获取光标的项目并在公共 void getDrawables上检查它包括
public String getDrawables(String str){
if (str.equals("3")){
str= "R.drawable.med...g";
}
else if (str.equals("2")){
str= "R.drawable.med..._me";
}
else if (str.equals("6")){
str= "R.drawable.me...._up";
}
return str;
}
看到我想将数组 imageIDs(这是一个可绘制的)的值更改为另一个可绘制的图像。
我没有任何错误,所以我使用调试器并发现我在这部分遇到错误int intReturnDrawable = Integer.parseInt(returnDrawable);
我是安卓新手,但我知道一些基本功能。你能帮我解决这个问题吗?