Array initializer is not allowed here

Your initialization statement is wrong: you must add square brackets to declare an array (and here you can omit the new keyword because you're declaring and initializing the variable at the same time):

int[] pos = { 0, 1, 2 };

In the onCreate method, you can't omit the new keyword because the variable was already declared, so you have to write:

pos = new int[] { 2, 1, 0 };

You can read the Oracle documentation and the Java Language Specs for more details.


You should use

pos = new int[]{1,2,3};

You can only use the abbreviated syntax int[] pos = {0,1,2}; at variable initialization time.

private int[] values1 = new int[]{1,2,3,4};
private int[] values2 = {1,2,3,4}; // short form is allowed only at variable initialization

use the following syntax to declare/initialize and empty array, and then populated it with data:

String[] menuArray = {};
menuArray = new String[]{"new item","item 2"};

Tags:

Java

Arrays