动态添加微调器

时间:2013-10-21 12:53:34

标签: android android-spinner

我正在尝试使用java在一个微调器的onItemSelected事件上向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

        }

    });

但是这件事没有用。请帮忙。

3 个答案:

答案 0 :(得分:0)

更改seriesspinner.setOnItemSelectedListener(new OnItemSelectedListener() {

seriesspinner.setOnItemSelectedListener(new View.OnItemSelectedListener() {

答案 1 :(得分: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);

答案 2 :(得分:0)

问题出在我的布局高度上,这就是布局没有显示的原因。