[英]Create a spinner programmatically in Android
I want to create a spinner without using XML.我想在不使用 XML 的情况下创建一个微调器。 I am new in android and my knowledge is limited.
我是 android 新手,我的知识有限。 By now I have this code (see above) and I want my spinner in one of the tabs of my
TabActivity
.现在我有这个代码(见上文),我希望我的微调器在我的
TabActivity
的选项卡之一中。 There is no obvious error but when I open my activity the tab is empty.没有明显的错误,但是当我打开我的活动时,选项卡是空的。 I would appreciate some help.
我会很感激一些帮助。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayList<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("one");
spinnerArray.add("two");
spinnerArray.add("three");
spinnerArray.add("four");
spinnerArray.add("five");
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
}
You need to add the Spinner
to a layout.您需要将
Spinner
添加到布局中。
First create a container
for the Spinner
and then create the Spinner
and add it to your container
.首先为
Spinner
创建一个container
,然后创建Spinner
并将其添加到您的container
。 Next set content of you Activity
to your container
.接下来将您
Activity
内容设置为您的container
。
This could be done like this, in your onCreate
method:这可以在您的
onCreate
方法中这样做:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
LinearLayout layout = new LinearLayout(this);
ArrayList<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("one");
spinnerArray.add("two");
spinnerArray.add("three");
spinnerArray.add("four");
spinnerArray.add("five");
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
layout.addView(spinner);
setContentView(layout);
}
EDIT:编辑:
Just to clarify: if the Spinner
isn't added to the content of the Activity
inside a layout, it isn't visible, so that's why you don't get any errors or anything, because there isn't any errors in your code, per se ;-)澄清一下:如果
Spinner
未添加到布局内的Activity
内容中,则它不可见,这就是为什么您不会收到任何错误或任何内容的原因,因为您的代码中没有任何错误, 本身;-)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout layout = new LinearLayout(this);
// The following can also be done using a loop
ArrayList<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("one");
spinnerArray.add("two");
spinnerArray.add("three");
spinnerArray.add("four");
spinnerArray.add("five");
Spinner spinner = new Spinner(MainActivity.this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
layout.addView(spinner);
setContentView(layout);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.