2

1 つのスピナーの onItemSelected イベントで Java を使用して、LinearLayout に新しいスピナーを追加しようとしています。私のコードは次のようになります。

seriesspinner=(Spinner) findViewById(R.id.series_spinner);
    seriesspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View item,
                int position, long id) {
            // TODO Auto-generated method stub
                View dynamicPlace=findViewById(R.id.dynamic_spinners_layout);
                String selectedItem=parent.getItemAtPosition(position).toString().toLowerCase();
                ((LinearLayout)dynamicPlace).removeAllViews();
                if(selectedItem.equalsIgnoreCase("futures")){
                    Spinner expiryMonthSpinner=new Spinner(getApplicationContext());
                    expiryMonthSpinner.setLayoutParams(new LayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT)));

                    ArrayAdapter<String> expirymonth=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.expiry_month_array));
                    expiryMonthSpinner.setAdapter(expirymonth);
                    Toast.makeText(getApplicationContext(), selectedItem, Toast.LENGTH_LONG).show();                        
                    ((LinearLayout)dynamicPlace).addView(expiryMonthSpinner);

                }
        }

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

        }

    });

しかし、これは機能していません。助けてください。

4

3 に答える 3

0

変化する seriesspinner.setOnItemSelectedListener(new OnItemSelectedListener() {

seriesspinner.setOnItemSelectedListener(new View.OnItemSelectedListener() {
于 2013-10-21T12:56:11.750 に答える
0

問題はレイアウトの高さにあり、それがレイアウトが表示されない理由でした。

于 2013-10-24T18:02:44.357 に答える
0

現在、手元にコンパイラはありませんが、ビュー リソースが間違っている可能性があります。以下は。simple_spinner_item と simple_spinner_dropdown_item を変更する必要があります

Spinner expiryMonthSpinner=new Spinner(...)
ArrayAdapter<String> expirymonth=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.expiry_month_array));
expiryMonthSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
于 2013-10-21T13:06:28.470 に答える