dauren101
@dauren101
Python, Django ,Vue.js

Почему if не определяется?

Передал значение fragment
@Override public void onItemClick(View view, int position) {
    // do whatever
    usr  = adapter.getItem(position);
    Context context=view.getContext();
    Intent intent = new Intent(context, DetailActivity.class);
    //intent.putExtra(ItemDetailFragment.ARG_ITEM_ID, (Parcelable) usr);
    intent.putExtra("fragment", "OneFragment");
    context.startActivity(intent);
}


В DetailActivity получаю
String fragment= getIntent().getStringExtra("fragment");
if(fragment== "OneFragment")
{
    Toast toast2 = Toast.makeText(this, "hello ddd", Toast.LENGTH_SHORT);
    toast2.show();
}


Но if не определяет, Почему??
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Для ссылочных типов == проверяет на равенство ссылок, а не равенство значений. Используйте метод .equals():
if(fragment.equals("OneFragment")) {}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sirs
Что значит не определяется?
В java строки сравнивают по equals (если они не были добавлены через .intern()), а у Вас написано if(fragment== "OneFragment").
Попробуйте заменить на
if("OneFragment".equals(fragment)) {}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы