【问题标题】:Changing an ImageButton image programmatically以编程方式更改 ImageButton 图像
【发布时间】:2013-05-16 22:39:09
【问题描述】:

我已使用此代码成功地将图像设置为 ImageButton:

mGetClickTime.setImageResource(randomImageId);

但我试图通过调用包含以下内容的方法来有问题地更改图像:

mGetClickTime.setImageResource(randomImageId);

(其中randomImageId vraiable不同)

但是,程序化更改不起作用。

在设置新图像之前是否需要删除当前图像?如果是这样,我该怎么做?

编辑

问题似乎是上述命令在另一个活动被调用并完成后停止工作。在那之后,setImageResource 就不起作用了。

我不确定为什么会这样。除了这个

   public void onCreate(Bundle savedInstanceState) {         
   super.onCreate(savedInstanceState);
   }

但问题仍然存在。为什么?

【问题讨论】:

  • 这是正确的做法。您的代码中还有其他问题。
  • 你是对的!谢谢。我仍然无法弄清楚它是什么,但我会用我所知道的来编辑这个问题。
  • 我真的很想帮助你,但是这个信息太少了。如果您无法共享您的代码,请尝试逐步进行,首先更改图像并查看它是否符合您的要求,然后启动其他活动,并解决问题是在组合中还是在某个特定步骤中。当你做一些复杂的事情时,试着逐块测试你的代码。一步到位。
  • 谢谢马尔科。我很感激你愿意帮助我。我很高兴粘贴更多代码,我只是不想让它变得太乱,因为那里有很多东西。实际上,我在这里提出了一个新问题,该问题更具体地说明了我认为的问题所在:stackoverflow.com/questions/16617581/…
  • 另外,我尝试在 Eclipse 调试器中单步执行它,但我无法理解为什么 ImageButton 在被告知时没有改变。所有变量看起来都正确。

标签: android image imagebutton


【解决方案1】:

试试这个:

mGetClickTime.setBackgroundResource(randomImageId);

这将在 onClick 方法中起作用。这可能是你的问题,但在我看到代码的上下文之前不能 100% 确定。

【讨论】:

  • 感谢您的建议,但我认为这是另一回事。 (见编辑)
猜你喜欢
  • 1970-01-01
  • 2011-10-08
  • 2014-06-07
  • 2011-04-18
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2014-03-28
相关资源
最近更新 更多