Spinner 中已排序字符串数组的示例
Example for sorted String-array in Spinner
您好,我想在微调器中显示按字母顺序排列的数组名称="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);
你可以直接在你的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);
享受编码......
您需要手动对数组进行排序
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);
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);
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);
您好,我想在微调器中显示按字母顺序排列的数组名称="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);
你可以直接在你的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);
享受编码......
您需要手动对数组进行排序
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);
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);
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);