I have the following code:
String[] where; where.append(ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1"); where.append(ContactsContract.Contacts.IN_VISIBLE_GROUP + "=1");
Those two appends are not compiling. How would that work correctly?
Advertisement
Answer
The size of an array can’t be modified. If you want a bigger array you have to instantiate a new one.
A better solution would be to use an ArrayList
which can grow as you need it. The method ArrayList.toArray( T[] a )
gives you back your array if you need it in this form.
List<String> where = new ArrayList<String>(); where.add( ContactsContract.Contacts.HAS_PHONE_NUMBER+"=1" ); where.add( ContactsContract.Contacts.IN_VISIBLE_GROUP+"=1" );
If you need to convert it to a simple array…
String[] simpleArray = new String[ where.size() ]; where.toArray( simpleArray );
But most things you do with an array you can do with this ArrayList, too:
// iterate over the array for( String oneItem : where ) { ... } // get specific items where.get( 1 );