android - 一个简单的图像弹出窗口

标签 android dictionary hashmap android-imageview

因此,我正在为我的寻宝游戏应用程序添加一项新功能,该功能基本上是显示图片以获取线索的功能。通过点击线索文本,我转到 ImageView Activity 以显示依赖于该线索的图片。问题是,我不知道如何进行这项工作。我尝试做一个 Map/HashMap 组合....

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("info", R.drawable.clue0);
map.put("goebel", R.drawable.clue1);
map.put("church", R.drawable.clue2);
map.put("confed", R.drawable.clue3);
map.put("ban", R.drawable.clue4);
map.put("jr", R.drawable.clue5);
map.put("ohara", R.drawable.clue6);
map.put("db", R.drawable.clue7);

然后用...填充图片

imgClue.setImageResource(map.get("goebel"));

点击文本线索有这样的代码:

txtClue.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                Intent cluePic = new Intent(FCRun.this, imgClue.class);
                Intent imgClue;
                cluePic.putExtras(imgClue);
            }

        });

ImageView Activity 代码(到目前为止)是这样的......

public class imgClue extends Activity{
public static ImageView iClue;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.imgclue);

}

public static void setImageResource(Integer integer) {

    }}

我的接近警报传递一个 ID 来表示正在显示的位置。我使用 Switch(ID)/Case 来根据位置设置屏幕上显示的文本。我希望我可以在 Case 语句中添加另一行来告诉要显示的图片。

所以我的问题是,我的做法是错误的还是我的代码完全错误?

代码无法编译,因为它不喜欢我的 MAP 语句中的句点。

谢谢, 亨多

最佳答案

由于这两行代码无法编译:

 Intent imgClue;
 cluePic.putExtras(imgClue);

删除它们并替换为

 startActivity(cluePic);

这也是错误的imgClue.setImageResource(map.get("goebel"));您不应将 map 的结果(即整数可绘制资源)`设置为静态方法。你应该通过 Intent 传递它,例如:

cluePic.putExtra("MyImageKey", map.get("goebel"));

然后在你的activity(imgClue)里面onCreate你会做

 int imageDrawableResource = getIntent().getIntExtra("MyImageKey", 0);

尽管您的代码并不完美,但这是一种非常好的实现方式。 :-)


为了让您以后更容易理解您的代码,我建议您进行以下更改:

  • 更改Map<String, Integer> mapMap<String, Integer> cluePictures
  • 更改txtClueclueTextView
  • 更改Intent cluePicIntent cluePictureIntent
  • 更改imgClue extends ActivityImageClueActivity extends Activity
  • public static ImageView iClue 中删除静态关键字并设为私有(private):private ImageView clueImageView

关于android - 一个简单的图像弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35584908/

相关文章:

java - 在Java中使用Stream迭代斐波那契数列

java - HashMap 条目冲突

android - 在自动完成 TextView 的建议列表中找不到项目时显示消息

android - 选择共享菜单时如何从浏览器获取html代码

python - 如何计算列的唯一组合的元素频率并存储在 Dataframe 的另一列中?

python - 在python中验证字符串是否为JSON?

android - json 文件对象建模而不是 mongoose

android - Android源码中的DISALLOW_FUN是什么意思?

java - 如何声明不同类型的HashMap?

amazon-web-services - 从ES中删除字段