Чтобы решить эту проблему, используйте следующий код:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference messagesRef = rootRef.child("messages");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<MessageModel> chatModelsArrayList = new ArrayList<>();
for(DataSnapshot ds : dataSnapshot.getChildren()) {
MessageModel messageModel = ds.getValue(MessageModel.class);
chatModelsArrayList.add(messageModel );
Log.d("TAG", messageModel.getName() + " / " + messageModel.getText());
}
//Call method to update widget
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
messagesRef.addListenerForSingleValueEvent(valueEventListener);
Вывод в логарифме будет:
Amr Kamal / fsafsfa
Amr Kamal / hii
//And so on
Если вы исправите синтаксические ошибки, значит, ваш код работает. Для этого добавьте отсутствующий )
в блок on()
и удалите console.log()
, как он ссылался на element
, когда он был вне области видимости. Если вы хотите увидеть значение свойства CSS, поместите console.log()
в обработчик события click.
$(document).on('click', '.myclass', function(e) {
var radius = getCssByRule('border-radius', this);
console.log(radius);
});
function getCssByRule(rule, element) {
const values = Array.from(document.querySelectorAll('*'))
.filter(e => parseInt(window.getComputedStyle(e).getPropertyValue(rule)) !== 0)
.map(e => window.getComputedStyle(e).getPropertyValue(rule));
return values;
}
.myclass {
border-radius: 10px;
padding: 10px;
background-color: #C00;
color: #FFF;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myclass">Foo</div>
Тем не менее, вы делаете это намного сложнее, чем нужно. Вы уже включили jQuery для присоединения обработчика событий click
, так почему бы не использовать его для получения настройки CSS для border-radius
? Это одна строка:
$(document).on('click', '.myclass', function(e) {
var css_now = $(this).css('border-radius');
console.log(css_now);
});
.myclass {
border-radius: 10px;
padding: 10px;
background-color: #C00;
color: #FFF;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myclass">Foo</div>