Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Fields](https://developer.android.com/reference/java/util/ListResourceBundle#inhfields) \| [Ctors](https://developer.android.com/reference/java/util/ListResourceBundle#pubctors) \| [Methods](https://developer.android.com/reference/java/util/ListResourceBundle#pubmethods) \| [Protected Methods](https://developer.android.com/reference/java/util/ListResourceBundle#promethods) \| [Inherited Methods](https://developer.android.com/reference/java/util/ListResourceBundle#inhmethods)

# ListResourceBundle


`
public


abstract
class
ListResourceBundle
`


`


`

`

extends https://developer.android.com/reference/java/util/ResourceBundle


`

`


`

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.util.ResourceBundle](https://developer.android.com/reference/java/util/ResourceBundle) ||
|   | ↳ | java.util.ListResourceBundle |

<br />

*** ** * ** ***

`ListResourceBundle` is an abstract subclass of
`ResourceBundle` that manages resources for a locale
in a convenient and easy to use list. See `ResourceBundle` for
more information about resource bundles in general.


Subclasses must override `getContents` and provide an array,
where each item in the array is a pair of objects.
The first element of each pair is the key, which must be a
`String`, and the second element is the value associated with
that key.


The following example shows two members of a resource
bundle family with the base name "MyResources".
"MyResources" is the default member of the bundle family, and
"MyResources_fr" is the French member.
These members are based on `ListResourceBundle`
(a related [example](https://developer.android.com/reference/java/util/PropertyResourceBundle#sample) shows
how you can add a bundle to this family that's based on a properties file).
The keys in this example are of the form "s1" etc. The actual
keys are entirely up to your choice, so long as they are the same as
the keys you use in your program to retrieve the objects from the bundle.
Keys are case-sensitive.
>
> ```
> public class MyResources extends ListResourceBundle {
>     protected Object[][] getContents() {
>         return new Object[][] {
>         // LOCALIZE THIS
>             {"s1", "The disk \"{1}\" contains {0}."},  // MessageFormat pattern
>             {"s2", "1"},                               // location of {0} in pattern
>             {"s3", "My Disk"},                         // sample disk name
>             {"s4", "no files"},                        // first ChoiceFormat choice
>             {"s5", "one file"},                        // second ChoiceFormat choice
>             {"s6", "{0,number} files"},                // third ChoiceFormat choice
>             {"s7", "3 Mar 96"},                        // sample date
>             {"s8", new Dimension(1,5)}                 // real object, not just string
>         // END OF MATERIAL TO LOCALIZE
>         };
>     }
> }
>
> public class MyResources_fr extends ListResourceBundle {
>     protected Object[][] getContents() {
>         return new Object[][] {
>         // LOCALIZE THIS
>             {"s1", "Le disque \"{1}\" {0}."},          // MessageFormat pattern
>             {"s2", "1"},                               // location of {0} in pattern
>             {"s3", "Mon disque"},                      // sample disk name
>             {"s4", "ne contient pas de fichiers"},     // first ChoiceFormat choice
>             {"s5", "contient un fichier"},             // second ChoiceFormat choice
>             {"s6", "contient {0,number} fichiers"},    // third ChoiceFormat choice
>             {"s7", "3 mars 1996"},                     // sample date
>             {"s8", new Dimension(1,3)}                 // real object, not just string
>         // END OF MATERIAL TO LOCALIZE
>         };
>     }
> }
> ```


The implementation of a `ListResourceBundle` subclass must be thread-safe
if it's simultaneously used by multiple threads. The default implementations
of the methods in this class are thread-safe.
**See also:**

- `https://developer.android.com/reference/java/util/ResourceBundle`
- `https://developer.android.com/reference/java/util/PropertyResourceBundle`

## Summary

| ### Inherited fields |
|---|
| From class `https://developer.android.com/reference/java/util/ResourceBundle` |---|---| | ` protected https://developer.android.com/reference/java/util/ResourceBundle` | `https://developer.android.com/reference/java/util/ResourceBundle#parent` The parent bundle of this bundle. | |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/util/ListResourceBundle#ListResourceBundle()() ` Sole constructor. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/util/Enumeration<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/java/util/ListResourceBundle#getKeys()() ` Returns an `Enumeration` of the keys contained in this `ResourceBundle` and its parent bundles. |
| ` final https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/ListResourceBundle#handleGetObject(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Gets an object for the given key from this resource bundle. |

| ### Protected methods ||
|---|---|
| ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/ListResourceBundle#getContents()() ` Returns an array in which each item is a pair of objects in an `Object` array. |
| ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/java/util/ListResourceBundle#handleKeySet()() ` Returns a `Set` of the keys contained *only* in this `ResourceBundle`. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/util/ResourceBundle ` |---|---| | ` static final void` | ` https://developer.android.com/reference/java/util/ResourceBundle#clearCache(java.lang.ClassLoader)(https://developer.android.com/reference/java/lang/ClassLoader loader) ` Removes all resource bundles from the cache that have been loaded by the given class loader. | | ` static final void` | ` https://developer.android.com/reference/java/util/ResourceBundle#clearCache()() ` Removes all resource bundles from the cache that have been loaded using the caller's class loader. | | ` boolean` | ` https://developer.android.com/reference/java/util/ResourceBundle#containsKey(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Determines whether the given `key` is contained in this `ResourceBundle` or its parent bundles. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBaseBundleName()() ` Returns the base name of this bundle, if known, or `null` if unknown. | | ` static final https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String,%20java.util.Locale,%20java.util.ResourceBundle.Control)(https://developer.android.com/reference/java/lang/String baseName, https://developer.android.com/reference/java/util/Locale targetLocale, https://developer.android.com/reference/java/util/ResourceBundle.Control control) ` Returns a resource bundle using the specified base name, target locale and control, and the caller's class loader. | | ` static final https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String,%20java.util.Locale)(https://developer.android.com/reference/java/lang/String baseName, https://developer.android.com/reference/java/util/Locale locale) ` Gets a resource bundle using the specified base name and locale, and the caller's class loader. | | ` static final https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String)(https://developer.android.com/reference/java/lang/String baseName) ` Gets a resource bundle using the specified base name, the default locale, and the caller's class loader. | | ` static https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String,%20java.util.Locale,%20java.lang.ClassLoader,%20java.util.ResourceBundle.Control)(https://developer.android.com/reference/java/lang/String baseName, https://developer.android.com/reference/java/util/Locale targetLocale, https://developer.android.com/reference/java/lang/ClassLoader loader, https://developer.android.com/reference/java/util/ResourceBundle.Control control) ` Returns a resource bundle using the specified base name, target locale, class loader and control. | | ` static https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String,%20java.util.Locale,%20java.lang.ClassLoader)(https://developer.android.com/reference/java/lang/String baseName, https://developer.android.com/reference/java/util/Locale locale, https://developer.android.com/reference/java/lang/ClassLoader loader) ` Gets a resource bundle using the specified base name, locale, and class loader. | | ` static final https://developer.android.com/reference/java/util/ResourceBundle` | ` https://developer.android.com/reference/java/util/ResourceBundle#getBundle(java.lang.String,%20java.util.ResourceBundle.Control)(https://developer.android.com/reference/java/lang/String baseName, https://developer.android.com/reference/java/util/ResourceBundle.Control control) ` Returns a resource bundle using the specified base name, the default locale and the specified control. | | ` abstract https://developer.android.com/reference/java/util/Enumeration<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/java/util/ResourceBundle#getKeys()() ` Returns an enumeration of the keys. | | ` https://developer.android.com/reference/java/util/Locale` | ` https://developer.android.com/reference/java/util/ResourceBundle#getLocale()() ` Returns the locale of this resource bundle. | | ` final https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/ResourceBundle#getObject(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Gets an object for the given key from this resource bundle or one of its parents. | | ` final https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/ResourceBundle#getString(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Gets a string for the given key from this resource bundle or one of its parents. | | ` final https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/ResourceBundle#getStringArray(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Gets a string array for the given key from this resource bundle or one of its parents. | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/ResourceBundle#handleGetObject(java.lang.String)(https://developer.android.com/reference/java/lang/String key) ` Gets an object for the given key from this resource bundle. | | ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/java/util/ResourceBundle#handleKeySet()() ` Returns a `Set` of the keys contained *only* in this `ResourceBundle`. | | ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/java/util/ResourceBundle#keySet()() ` Returns a `Set` of all keys contained in this `ResourceBundle` and its parent bundles. | | ` void` | ` https://developer.android.com/reference/java/util/ResourceBundle#setParent(java.util.ResourceBundle)(https://developer.android.com/reference/java/util/ResourceBundle parent) ` Sets the parent bundle of this bundle. | ||
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### ListResourceBundle

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public ListResourceBundle ()
```

Sole constructor. (For invocation by subclass constructors, typically
implicit.)

<br />

## Public methods

### getKeys

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Enumeration<String> getKeys ()
```

Returns an `Enumeration` of the keys contained in
this `ResourceBundle` and its parent bundles.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Enumeration<https://developer.android.com/reference/java/lang/String>` | an `Enumeration` of the keys contained in this `ResourceBundle` and its parent bundles. <br /> |

**See also:**

- `https://developer.android.com/reference/java/util/ResourceBundle#keySet()`

### handleGetObject

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final Object handleGetObject (String key)
```

Gets an object for the given key from this resource bundle.
Returns null if this resource bundle does not contain an
object for the given key.

<br />

| Parameters ||
|---|---|
| `key` | `String`: the key for the desired object <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | the object for the given key, or null <br /> |

## Protected methods

### getContents

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected abstract Object[][] getContents ()
```

Returns an array in which each item is a pair of objects in an
`Object` array. The first element of each pair is
the key, which must be a `String`, and the second
element is the value associated with that key. See the class
description for details.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | an array of an `Object` array representing a key-value pair. <br /> |

### handleKeySet

Added in [API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected Set<String> handleKeySet ()
```

Returns a `Set` of the keys contained
*only* in this `ResourceBundle`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/String>` | a `Set` of the keys contained only in this `ResourceBundle` <br /> |

**See also:**

- `https://developer.android.com/reference/java/util/ResourceBundle#keySet()`