Присвоенное логическое значение никогда не используется - Java / Android Studio - PullRequest
0 голосов
/ 26 апреля 2018

Я не понимаю, почему Android Studio сообщает, что значение, присвоенное isOne, никогда не используется.Я установил значение false и true в операторе if метода fade.Однако когда я объявляю переменную isOne как переменную-член вместо локальной переменной, ошибка исчезает, и кажется, что она работает отлично.Я не уверен, почему это исправило ошибку .... Есть мысли?

private ImageView img1;
private ImageView img2;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    img1 = (ImageView) findViewById(R.id.porsche1);
    img2 = (ImageView) findViewById(R.id.porsche2);

    img1.setOnClickListener(this);
    img2.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    fade();
}

public void fade(){
   boolean isOne = true;

    if (isOne) {
        img1.animate().alpha(0).setDuration(2000);
        img2.animate().alpha(1).setDuration(2000);
        isOne = false;
    } else {
        img1.animate().alpha(1).setDuration(2000);
        img2.animate().alpha(0).setDuration(2000);
        isOne = true;
    }

}

}

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Используйте этот способ, я надеюсь, это поможет вам

boolean isOne = false;   // Use Globally

    public void fade(){

        if (isOne) {
            img1.animate().alpha(0).setDuration(2000);
            img2.animate().alpha(1).setDuration(2000);   
        } else {
            img1.animate().alpha(1).setDuration(2000);
            img2.animate().alpha(0).setDuration(2000);
        }
    }
0 голосов
/ 26 апреля 2018

В конце обоих блоков if и else вы присваиваете значение isOne.Вы никогда не используете это значение после его установки, поэтому эти назначения не используются.Каждый новый вызов повторно объявляет isOne, так что последнее назначение не становится начальным значением следующего вызова.

Поля труднее анализировать, поскольку последнее назначение одного вызова будет использоваться в качестве начального значения следующего вызова (при условии, что в одном и том же экземпляре вызываются два метода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...