0

我想问一下如何写IF ELSE语句。我的“if”工作正常,但是,对于 else,我无法让它工作。我不确定代码的作用是什么。

if(weatherCode.equals("28"))
{
    mHandler.post(new Runnable()
    {
        @Override
        public void run()
        {
            // This gets executed on the UI thread so it can safely modify
            // Views

             image.setImageResource(R.drawable.logo);
        }
    });
}
else
{
  image.setImageResource(R.drawable.old);
}
4

4 回答 4

2

if正如我在评论中添加的那样,使用部分使用的线程。

if(weatherCode.equals("28"))
{
mHandler.post(new Runnable()
{
    @Override
    public void run()
    {
        // This gets executed on the UI thread so it can safely modify
        // Views

         image.setImageResource(R.drawable.logo);
    }
});
}
else {
mHandler.post(new Runnable() {
    @Override
    public void run() {

        image.setImageResource(R.drawable.old);
    }
});
}
于 2013-07-19T05:40:43.977 回答
1

else当我阅读问题时,图像中的部分设置不正确

UI 动作需要在 UI 线程上,以else将图像设置在类似于先前动作的新线程中

else {
    mHandler.post(new Runnable() {
        @Override
        public void run() {

            image.setImageResource(R.drawable.old);
        }
    });
}
于 2013-07-19T05:26:11.383 回答
0
if (!weatherCode
        && weatherCode.equals("28")) {

    mHandler.post(new Runnable() {
        @Override
        public void run() {
            // This gets executed on the UI thread so it can safely
            // modify
            // Views

            image.setImageResource(R.drawable.logo);
        }
    });

} else {
    image.setImageResource(R.drawable.old);
}
于 2013-07-19T05:26:00.180 回答
0

我认为您代码中的注释已经提供了正确的提示。在 if 情况下,您使用处理程序使图像处理代码在 UI 线程上运行,但对于 else 情况,您不需要。

于 2013-07-19T05:26:53.153 回答