上記のようなポップアップリストを作成したいのですが、そのリストにはさまざまな距離があり、距離をクリックすると、その距離の説明が次のリストから表示されます。少なくともポップアップリストの作り方を教えてください。Android のおかげで
2 に答える
Spinnerについて言及していると思います。とても使いやすいです。ドロップダウン リストに特定の値セットのみを使用している場合は、Spinner のデータ ソースとして文字列配列リソースを使用できます。次のような配列を values ディレクトリの下に XML で定義します。スピナー ドロップダウン リストに必要な数の項目を入力します。
<string-array name="distances">
<item>1 Mile</item>
<item>2 Miles</item>
</string-array>
レイアウト ファイルで Spinner ウィジェットを定義する
<Spinner
android:id="@+id/spinnerDistances"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
そして、そのレイアウトを使用するアクティビティで:
Spinner spinner = (Spinner) findViewById(R.id.spinnerDistances);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.distances, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
ユーザーがスピナーで何かを選択したときにプログラムが何かを実行できるように、スピナーのイベントリスナーを定義することを忘れないでください。
編集: スピナーから項目が選択されたときに何かを行うには、OnItemSelectedListener.onItemSelected() をオーバーライドし、Spinner.setOnItemSelectedListener() でそのリスナーを使用するようにスピナーを設定する必要があります。これを行うには、クラスに OnItemSelectedListener を実装し、必要なメソッドなどを実装します。
mySpinner.setOnItemSelectedListener(new OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
);
さて、Androidでアクティビティを作成できます
<activity
android:name=".youractivityname"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog" />
そして、このアクティビティにリストビューを追加して、リストに目的のアイテムを追加します。テーマ ダイアログは、アクティビティをダイアログとして作成し、一種のポップアップとして表示します。