Web サービスで動作する Android アプリケーションを開発しています。
説明のアルファベット順に並べ替えたいEnum.values()
。
私はこれを持っていますEnum
:
public enum Stature
{
tall (0, MSDApplication.getAppContext().getString(R.string.stature_tall)),
average(1, MSDApplication.getAppContext().getString(R.string.stature_average)),
small(2, MSDApplication.getAppContext().getString(R.string.stature_small));
private final int stature;
private final String statureString;
Stature(int anStature, String anStatureString) { stature = anStature; statureString = anStatureString; }
public int getValue() { return stature; }
@Override
public String toString() { return statureString; }
}
たぶん、これは を使用するための最良の選択ではありませんEnum
が、私は Java 開発に関して非常に新しいです。
そのを使用してアルファベット順に並べ替える方法を知っていますstatureString
か?
Enum.values()
これらを次で使用したいので、これを行いたいですArrayAdapter
。
mSpinStature.setAdapter(new ArrayAdapter<Stature>(mActivity, android.R.layout.simple_dropdown_item_1line, Stature.values()));
Stature
そして、ここで選択したアイテムを取得したい:
private OnItemSelectedListener listener = new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long aid)
{
if (parent.equals(mSpinStature))
{
Stature item = (Stature)parent.getAdapter().getItem(pos);
Log.v("TAG", item.toString() + item.getValue());
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
};