我有以下代码:
dataAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
if (view.getId() == R.id.listitem_exercise_image) {
String image_1 = cursor.getString(columnIndex);
Log.d("MyApp", "image_1 = " + image_1);
int resourceId = getResources().getIdentifier(image_1 , "drawable", getPackageName());
Log.d("MyApp", "image_1 id = " + String.valueOf(resourceId));
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
现在,在日志中,它显示了我的Log.d:
12-30 23:34:04.995: D/MyApp(8354): image_1 = abdominal_4_point_drawing_in_1.png
12-30 23:34:05.015: D/MyApp(8354): image_1 id = 0
12-30 23:34:05.165: D/MyApp(8354): image_1 = alternate_hammer_curl_1.png
12-30 23:34:05.195: D/MyApp(8354): image_1 id = 0
12-30 23:34:05.325: D/MyApp(8354): image_1 = alternate_incline_dumbbell_curl_1.png
12-30 23:34:05.335: D/MyApp(8354): image_1 id = 0
Run Code Online (Sandbox Code Playgroud)
现在所有这些 .png 文件都存在于“drawable”文件夹中。它们肯定在该文件夹中。我知道这一点是因为我是将它们放入该文件夹的人,而且我也刚刚仔细检查过。我还运行了一个清洁项目。
那么为什么每个资源 ID 都为 0呢?
资源标识符不以 结尾".png",扩展被剥离并完成一些其他转换。现在,如果image_1哪里"abdominal_4_point_drawing_in_1"有一个资源可以生成R.drawable.abdominal_4_point_drawing_in_1它就可以了。
| 归档时间: |
|
| 查看次数: |
986 次 |
| 最近记录: |