Как создать случайный UUID в Android, когда происходит событие нажатия кнопки?
Я ученик Android. Мне нужно сделать случайный UUID и сохранить в базе данных в качестве первичного ключа. Я использую UUID.randomUUID.toString() этот код в событии нажатия кнопки. UUID был эффективно сделан интересно. Тем не менее, в случае, если я нажимаю кнопку еще раз, мне нужно сделать еще один UUID. В любом случае мой код не создает новый UUID. Кто-нибудь, пожалуйста, помогите мне сделать неправильный UUID, когда я нажимаю кнопку catch.
Вот мой код:
String uniqueId = null;
showRandomId = (Button)findViewById(R.id.showUUID);
showRandomId.setOnClickListener(new View.OnClickListener() {
public void OnClick(View v) {
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getBaseContext(), uniqueId, duration);
toast.show();
}
});
Ответы
Ответ 1
В первый раз он инициализирует переменную и в следующий раз, когда вы нажимаете кнопку, она не получает нулевое значение
Удалить, если условие из этого
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
Используйте этот
uniqueId = UUID.randomUUID().toString();
Ответ 2
Ваша нулевая проверка для uniqueId
вызывает проблему.
когда вы нажимаете кнопку в первый раз, uniqueId
имеет значение null и генерируется новый UUID. Но когда вы нажимаете его в следующий раз, когда uniqueId не является нулевым, то никакой новый UUID не генерируется.
Ответ 3
Вы явно избегаете создания нового UUID с помощью:
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
Удалите чек.
Ответ 4
Когда вы сравниваете строку, используйте .equals()
if(uniqueId.equals(null)) {
uniqueId = UUID.randomUUID().toString();
}