你怎么写android中的if语句?

时间:2013-07-19 05:15:27

标签: android eclipse

我想询问如何编写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 个答案:

答案 0 :(得分: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);
    }
});
}

答案 1 :(得分:1)

当我读到问题时,else部分

中的图像设置不正确

UI操作需要在UI线程上 在else案例中,将图像设置为与先前操作类似的新线程

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

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

答案 2 :(得分: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);
}

答案 3 :(得分:0)

我认为代码中的注释提供了正确的提示。 在if的情况下,你使用一个处理程序来使图像操作代码在UI线程上运行,但对于你的其他情况你不会。