2015-10-07 4 views
9

При подклассе FirebaseListAdapter в FirebaseUI как можно получить ключ obj элемента, который нажал?Как получить ключ obj от FirebaseListAdapter на клике элемента. FirebaseUI

FirebaseListAdapter имеет следующий метод, который получает itemId, но возвращается долго. Но мне нужен ключ объекта, который находится в формате строки по умолчанию.

public long getItemId(int i) { 
    return (long)this.mSnapshots.getItem(i).getKey().hashCode(); 
} 

ответ

30

The FirebaseListAdapter предполагает, что вы всегда знаете, индекс/положение элемента вы взаимодействующие с. Учитывая контекст Android, это имеет смысл, поскольку представления коллекции основаны на индексах.

Как только вы знаете позицию, вы можете позвонить adapter.getRef(position), чтобы получить ссылку на объект Firebase. По этой ссылке вы можете позвонить getKey(), чтобы получить ключ. Хотя я рекомендую делать это только в крайнем случае.

+1

Спасибо! Да, это сработает. Но поскольку мне часто нужно создавать реляционные пути все время, я на самом деле только что начал хранить ключи и идентификаторы в самом объекте и нашел очень удобный шаблон. – srinivas

+1

Мы обсуждали команду FirebaseUI, чтобы хранить ** ссылки ** в самих объектах, но пока решили против нее. Накладные расходы, связанные с требованием общего базового класса или интерфейса инжектора, по-видимому, перевешивают преимущества для универсального варианта использования. Конечно, если у вас есть конкретный прецедент, рассмотрение может быть разным. Я бы по-прежнему рекомендовал использовать «Firebase» ref вместо ключа. Refs являются легкими и добавляют хороший безопасный слой поверх только клавиши String. –

+0

Должно быть, хорошее обсуждение. В моем случае это кажется полезным, поскольку я понимаю во многих отношениях много случаев, вам может потребоваться создать инвертированные индексы друг для друга в своих собственных коллекциях. поэтому ссылка на firebase по умолчанию будет очень полезна в этом случае и, вероятно, также часто требуется для моделирования многих и многих требований к моделированию. – srinivas

Смежные вопросы