2012-09-09 41 views
0

我使用strings.xml内的数组创建一个Spinner。哪个更适合Spinner?

我注意到我可以使用android:entries="@array/theName"填充我的微调。 或者,我可以使用此代码:

spinner = (Spinner) findViewById(R.id.spinner1); 
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.theName, android.R.layout.simple_spinner_item); 
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner1.setAdapter(adapter1); 

那么什么是这两者之间的区别?一个人跑得比另一个跑得快吗?我都是不使用所有的代码,但如果它会导致我的应用程序的其余部分的问题,我宁愿使用代码。我正计划采用用户选择的内容,并在我的应用中使用它。

回答

0

两者都有效。

如果已将字符串数组放入res文件夹,请使用XML代码。它更简单,更清洁。 否则,如果你动态获取你的数组(例如从互联网),使用java的方法。

0

这些与方法之间的差异很小,属性android:entries主要是一种方便的方法。你可以看到代码自己:

  1. ArrayAdapter.createFromResource()
  2. 使用android:entries

他们两个呼叫Resources.getTextArray()并创建一个ArrayAdapter<CharSequence>。主要区别在于:使用方法1允许您使用自定义布局,而使用方法2只需要一行XML代码。

要在属性entries引用documentation

对于静态的内容,这是比编程填充微调简单。