/**
* Method to detect presence of duplicates in a generic list.
* Depends on the equals method of the concrete type. make sure to override it as required.
*/
public static <T> boolean hasDuplicates(List<T> list){
int count = list.size();
T t1,t2;
for(int i=0;i<count;i++){
t1 = list.get(i);
for(int j=i+1;j<count;j++){
t2 = list.get(j);
if(t2.equals(t1)){
return true;
}
}
}
return false;
}
Пример конкретного класса, который переопределил equals()
:
public class Reminder{
private long id;
private int hour;
private int minute;
public Reminder(long id, int hour, int minute){
this.id = id;
this.hour = hour;
this.minute = minute;
}
@Override
public boolean equals(Object other){
if(other == null) return false;
if(this.getClass() != other.getClass()) return false;
Reminder otherReminder = (Reminder) other;
if(this.hour != otherReminder.hour) return false;
if(this.minute != otherReminder.minute) return false;
return true;
}
}
На самом деле вы можете установить пользовательский текст для этой маленькой синей кнопки. В XML-файле просто используйте
android:imeActionLabel="whatever"
на вашем EditText.
Или в java-файле используйте
etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE);
. Я произвольно выбрал IME_ACTION_DONE в качестве примера того, что должно идти во втором параметре для этой функции. Полный список этих действий можно найти здесь .
Следует отметить , что это не приведет к появлению текста на всех клавиатурах на всех устройствах. Некоторые клавиатуры не поддерживают текст на этой кнопке (например, swiftkey). И некоторые устройства тоже не поддерживают это. Хорошее правило: если вы уже видите текст на кнопке, это изменит его на то, что вы захотите.