您好我想在微调器中显示按字母顺序排列的数组名称=“planets_array”。 我找到了一些关于.sort集合和数组列表的信息,但没有让我理解它是如何工作的。 所以请帮助我,并告诉我示例。 我在strings.xml中:
<string-array name="planets_array">
<item>Dein Ziel</item>
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
在Activity.java中:
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
答案 0 :(得分:2)
你可以直接在你的xml中使用...........
<Spinner
android:layout_width="150dp"
android:layout_height="wrap_content"
android:id="@+id/namespinner"
android:entries="@array/planets_array"
android:spinnerMode="dropdown"/>
在XML android:entries="@array/planets_array"
......
或强>
更改此行..........
String [] myArray=getResources().getStringArray(R.array.name);
Arrays.sort(myArray);
ArrayAdapter<CharSequence> adapter = ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,myArray);
享受编码............
答案 1 :(得分:2)
<强> 1。对行星阵列进行排序。
String[] planetsArray = getResources().getStringArray(R.array.planets_array);
List<String> planetsList = Arrays.asList(planetsArray);
Collections.sort(planetsList); //planetsArray will be sorted
<强> 2。将已排序的数组列表传递给适配器。
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, planetsList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
答案 2 :(得分:1)
您需要手动对数组进行排序
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
String[] planets_array = getResources().getStringArray(R.array.planets_array);
Arrays.sort(planets_array);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, planets_array);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
答案 3 :(得分:1)
String arr[] = getResources().getStringArray(R.array.planets_array);
Comparator<String> stringComparator = new Comparator<String>() {
@Override
public int compare(String lhs, String rhs) {
return lhs.compareTo(rhs);
}
};
Arrays.sort(arr,stringComparator);
所以现在让你得到排序数组,这样你就可以在ArrayAdapter
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);