2012-03-10 71 views
0

我必须在Android中创建一个可能包含微调框或不可以的表单,根据我们必须创建微调框的数据。所以我试图在表单中创建一个动态的微调器。 但它不工作。我能够创建微调器,但是当我点击微调器时,它会显示错误消息。我写在android中创建动态微调框

代码:

dynamicSpinner = new Spinner(getApplicationContext()); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, option); 

adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
dynamicSpinner.setAdapter(adapter); 

选项是ArrayList<String>,其内容的选项列表。

如果有人有解决方案,请与我分享。

回答

0

包括与一个id你的XML格式的微调..

,然后在代码中使用:

dynamicSpinner = (Spinner)findViewById(R.id.mydynamicspinner); 

,而不是

dynamicSpinner = new Spinner(getApplicationContext()); 

其余所有看起来很好...

+0

谢谢Rahul ...在我的情况下,我不能在xml文件中添加微调。所以我正在尝试动态创建微调器。我的意思是使用代码.. – Sandy 2012-03-10 18:44:57

0

您的spinner已在您的xml,然后在activity,使用下列内容:

dynamicSpinner = (Spinner)findViewbyID(spinner ID); 

if(data available) 
    populate the spinner; 
else 
    dynamicSpinner.setVisibility(View.Gone); 

希望它能帮助。

编辑: 柜面要添加spinner progarammatically,你仍然会具有xml一个布局,您使用的是setContentView(layout id) ..所以得到所有孩子的存在于xml throught其ID布局然后将spinner添加到该布局。

+0

感谢Farhan ..我想在不使用xml文件的情况下创建微调器。我正在尝试使用代码创建... – Sandy 2012-03-10 18:48:10

1

试试这个

Spinner s=new Spinner(yourActivity.this); 
ParentLayout.addView(s); 

我没有看到你加入你的微调父布局。 我更感兴趣的是什么错误你准确