The error means that the value you are trying to access is null or does not exist. From the little bit of code you have posted it looks as if you are trying to reference the 3rd element (2) of the array. When you initialise an array the values are assigned null. You create an instance of an object at array position 1 and then attempt to reference or call SelectedTag on what looks to be element two.
For starters your first initialsation generally should be at index zero, not at index 1.
Tag array = new Tag;
array = new Tag();
SelectedTag d = new SelectedTag(0,array);
If you were to in this case do
SelectedTag d = new SelectedTag(1,array);
You would also encounter a NullPointerException as the value at position 1, i.e. the second element has not been initialised.