0

上記のようなポップアップリストを作成したいのですが、そのリストにはさまざまな距離があり、距離をクリックすると、その距離の説明が次のリストから表示されます。少なくともポップアップリストの作り方を教えてください。Android のおかげで

ここに画像の説明を入力

4

2 に答える 2

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
}
);
于 2012-10-06T00:28:10.133 に答える
0

さて、Androidでアクティビティを作成できます

<activity
            android:name=".youractivityname"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Dialog" />

そして、このアクティビティにリストビューを追加して、リストに目的のアイテムを追加します。テーマ ダイアログは、アクティビティをダイアログとして作成し、一種のポップアップとして表示します。

于 2012-10-05T18:02:46.983 に答える