22

これはよく聞かれると思います。ここで同様の質問をいくつか見つけましたが、実際にコインを落としたものはありません。誰かが私を助けてくれることを願っています。

私がやりたいことは、バニラ、チョコレート、ストロベリーのフレーバーのリストを含むドロップダウン (スピナー) をユーザーに提示することです。

ユーザーが好みのフレーバーを選択したときに、Strawberry の値である 10 が返されるようにします。

Strawberry = 10
Chocolate = 20
Vanilla = 30

私はvb.netのバックグラウンドから来たので、これを行うにはarrayadaptersなどが必要であるという事実を扱うのは非常に難しいと思いますか?

誰かが私のために物事を単純化し、おそらくいくつかのコードを共有できますか?

4

5 に答える 5

15

あなたはこれを試すことができます

ArrayAdapter<String> SpinerAdapter;
         String[] arrayItems = {"Strawberry","Chocolate","Vanilla"};
         final int[] actualValues={10,20,30}; 

        SpinerAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_dropdown_item, arrayItems);
        spinner.setAdapter(SpinerAdapter);

        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                int thePrice=actualValues[ arg2];

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });
于 2012-07-05T11:50:33.807 に答える
11

この投稿が役立つと思いますAndroid: How to bind spinner to custom object list?

この質問の作成者には、あなたと同じ要件があります

于 2012-07-05T11:54:32.980 に答える
2

コードは次のとおりです。

        TextView textView=(TextView) findViewById(R.id.textView1);
        Spinner spinner=(Spinner) findViewById(R.id.spinner1);
        spinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,quantity));
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                if(arg2==0){
                textView.setText("Strawberry = 10");
            }else if(arg2==1){
                textView.setText("Chocolate = 20");
            }else if(arg2==2){
                textView.setText("Vanilla = 30");
            }

            }

            public void onNothingSelected(AdapterView<?> arg0) {

            }
        });

String[] quantity={"Strawberry","Chocolate","Vanilla"};

および xml ファイル:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />

</LinearLayout>
于 2012-07-05T11:50:41.147 に答える