причина выше, попробуйте это решить:
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
//some other code here
ViewCompat.setElevation(appBarLayout, The Elevation In Px);
}
});
Я знаю, что это - старое сообщение, но не видело корректный ответ для вопроса.
var jsonStrig = '{';
var items = string.split(',');
for (var i = 0; i < items.length; i++) {
var current = items[i].split(':');
jsonStrig += '"' + current[0] + '":"' + current[1] + '",';
}
jsonStrig = jsonStrig.substr(0, jsonStrig.length - 1);
jsonStrig += '}';
var obj = JSON.parse(jsonStrig);
console.log(obj.firstName, obj.lastName);
Теперь можно использовать obj.firstName
и obj.lastName
для получения значений, как Вы могли обычно делать с объектом.
Ваша строка выглядит как строка JSON без фигурных скобок.
Это должно сработать:
obj = eval('({' + str + '})');
Если я правильно понимаю:
var properties = string.split(', ');
var obj = {};
properties.forEach(function(property) {
var tup = property.split(':');
obj[tup[0]] = tup[1];
});
Я предполагаю, что имя свойства находится слева от двоеточия и строкового значения, которое он занимает справа.
Обратите внимание, что Array.forEach
- это JavaScript 1.6 - вы можете использовать набор инструментов для максимальной совместимости.