Вместо использования track[$index].value
вы должны использовать step
, а также отслеживать ngRepeat по $index
var app = angular.module("app", []);
app.controller("MainCtrl", function($scope) {
$scope.noteMatrix = [
[false, false, false],
[false, true, false],
[false, false, false]
];
});
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
</head>
<body ng-controller="MainCtrl">
{{noteMatrix}}
<table>
<tbody>
<tr ng-repeat="track in noteMatrix track by $index">
<td>-{{$index}}-</td>
{{track}}
<td ng-repeat="step in track track by $index">
<input type="checkbox" ng-model="step"> {{step}}
</td>
</tr>
</tbody>
</table>
</body>
</html>
[1110 ] @jqpubliq Правильно, но если вы действительно хотите просмотреть все представления, вы можете просто использовать getChildCount ()
и getChildAt ()
методы из ViewGroup
. Все остальное сделает простой рекурсивный метод.
Попробуйте это. Получает все представления в родительском расположении & возвращает список массива представлений.
public List<View> getAllViews(ViewGroup layout){
List<View> views = new ArrayList<>();
for(int i =0; i< layout.getChildCount(); i++){
views.add(layout.getChildAt(i));
}
return views;
}
Использование Views
звучит так, как будто будет очень сложно отрендерить что-либо хорошо, если есть движение. Вы, вероятно, захотите рисовать на Canvas
или использовать OpenGL
, если вы не делаете что-то действительно статичное. Вот отличный доклад с прошлогодней конференции I / O по созданию игр для Android. Это довольно долго, и вы можете пропустить около 15 минут. Также доступен исходный код. Это должно дать вам хорошее представление о том, как поступать