Освой программирование играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Класс java.util.Currency появился ещё в API 1, но в урезанном виде. Позже в API 19 и API 24 были добавлены новые методы. Класс Currency предназначен для работы с валютой.
В Android 4.4 (KitKat) были добавлены новые методы getAvailableCurrencies() и getDisplayName() класса java.util.Currency, позволяющие получить список доступных валют в системе.
Добавим в разметку компонент ListView и напишем код для активности
package ru.alexanderklimov.currency;
import java.util.ArrayList;
import java.util.Currency;
import java.util.List;
import java.util.Set;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
private ListView mCurrencyList;
private Set<Currency> mAvailableCurrenciesSet;
private List<Currency> mAvailableCurrenciesList;
private ArrayAdapter<Currency> mAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mCurrencyList = (ListView) findViewById(R.id.currencylist);
// available from API Level 19
mAvailableCurrenciesSet = Currency.getAvailableCurrencies();
mAvailableCurrenciesList = new ArrayList<Currency>(
mAvailableCurrenciesSet);
mAdapter = new ArrayAdapter<Currency>(this,
android.R.layout.simple_list_item_1, mAvailableCurrenciesList);
mCurrencyList.setAdapter(mAdapter);
mCurrencyList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Currency currency = (Currency) parent
.getItemAtPosition(position);
String currencyCode = currency.getCurrencyCode();
String displayName = currency.getDisplayName();
String symbol = currency.getSymbol();
Toast.makeText(MainActivity.this,
displayName + "\n" + currencyCode + "\n" + symbol,
Toast.LENGTH_LONG).show();
}
});
}
}