java - 选择位置图像不会显示在 ImageView 上
问题描述
我有 1 个 int 和 1 个来自 Intent extras 的字符串,它们的位置我想从所选项目的位置设置图像视图可绘制的精确图像。代码工作并且日志显示正确的位置,但图像视图不会在设备中显示任何 ID?
// 这是来自列表项的意图
Intent inspol = new Intent(getActivity(),Item_Click_open.class);
inspol.putExtra("IMAGE_SELECT",datassss[position]);
if (boxcolor1 == 0||boxcolor2 == 0) {
inspol.putExtra("IMAGE_TYPE",1);
}
if (boxcolor1 == 1||boxcolor2 == 1) {
inspol.putExtra("IMAGE_TYPE",2);
}
if (boxcolor1 == 2||boxcolor2 == 2) {
inspol.putExtra("IMAGE_TYPE",3);
}
new Pair<View, String>(view.findViewById(R.id.big_image),
Item_Click_open.VIEW_NAME_HEADER_IMAGE),
new Pair<View, String>(view.findViewById(R.id.big_image),
Item_Click_open.VIEW_NAME_HEADER_IMAGE2));;
ActivityCompat.startActivity(getActivity(),inspol,activityOptions.toBundle());
}
});
// 活动必须图像视图设置可绘制
Intent ilm = getIntent();
sps = ilm.getStringExtra("IMAGE_SELECT");
popint = ilm.getIntExtra("IMAGE_TYPE",0);
imsec = (ImageView) findViewById(R.id.imseccc);
if (popint == 1) {
if (sps == "Beginner") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_tree_bign));
}
if (sps == "Elementary") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_tree_ele2));
}
if (sps == "Intermediate") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_tree_inter));
}
if (sps == "Advance") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_tree_advice));
}
}
if (popint == 2) {
if (sps == "Beginner") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_chery));
}
if (sps == "Elementary") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_limon));
}
if (sps == "Intermediate") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_sbr));
}
if (sps == "Advance") {
imsec.setImageDrawable(getResources().getDrawable(R.drawable.ic_oldfood));
}
}
感谢您的帮助!
解决方案
尝试这个:
final String sps = ilm.getStringExtra("IMAGE_SELECT");
int popint = ilm.getIntExtra("IMAGE_TYPE", 0);
if (popint == 1) {
switch (sps.toLowerCase()){
case "beginner":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_tree_bign));
break;
case "elementary":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_tree_ele2));
break;
case "intermediate":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_tree_inter));
break;
case "advance":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_tree_advice));
break;
}
} else if (popint == 2){
switch (sps.toLowerCase()){
case "beginner":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_chery));
break;
case "elementary":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_limon));
break;
case "intermediate":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_sbr));
break;
case "advance":
imsec.setImageDrawable(ContextCompat.getDrawable(Item_Click_open.this, R.drawable.ic_oldfood));
break;
}
}
推荐阅读
- r - ggplot:将ylab旋转并重新定位到中间
- javascript - ReactJS如何验证所有输入然后提交
- php - 成功提交表单,但控制台出现一个错误,例如 A Database Error Occurred Error Number: 1048 - Codeigniter
- arrays - 查找 MongoDb 文档中数组中第一个位置的所有不同值
- java - 如何使这个算法变得懒惰?(爪哇)
- javascript - 将值从一个输入字段传递到另一个
- javascript - 如何将 2 个数组与猫鼬合并?
- visual-foxpro - 根据另一个字段的最大值选择记录
- excel - 在这个命名约定中加入 Worksheetfunction.right?
- swift - 在对象周围填充