Android 如何以字母模式对微调器进行排序?

Android 如何以字母模式对微调器进行排序?,android,eclipse,spinner,sorting,alphabetical,Android,Eclipse,Spinner,Sorting,Alphabetical,我创建这段代码是为了在微调器中创建一个列表。现在我希望列表按字母顺序排列(例如xxx,yyy,aaa必须是aaa,xxx,yyy)…我该怎么办 public class MyAndroidAppActivity extends Activity { private Spinner spinner; private EditText Text; private ArrayAdapter<String> adapter; private

我创建这段代码是为了在微调器中创建一个列表。现在我希望列表按字母顺序排列(例如xxx,yyy,aaa必须是aaa,xxx,yyy)…我该怎么办

public class MyAndroidAppActivity extends Activity {


      private Spinner spinner;
      private EditText Text;
      private ArrayAdapter<String> adapter;
      private Button addButton;

      public void onCreate(Bundle savedInstanceState)
      {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Text = (EditText) findViewById(R.id.et);
        List<String> planets = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.clienti_arrays)));
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, planets);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner = (Spinner) findViewById(R.id.spinner1);
        spinner.setAdapter(adapter);
        Collections.sort(planets);
        addButton = (Button) findViewById(R.id.add_new);
        addButton.setOnClickListener(new OnClickListener()
        {
          public void onClick(View v)
          {
            addNewSpinnerItem();
          }
        });
      }

      protected void addNewSpinnerItem()
      {
        String textHolder = "" + Text.getText().toString();
        adapter.add(textHolder);

      }
    }
公共类MyAndroidAppActivity扩展活动{
私人纺纱机;
私人编辑文本;
专用阵列适配器;
私人按钮添加按钮;
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Text=(EditText)findViewById(R.id.et);
List planets=new ArrayList(Arrays.asList(getResources().getStringArray(R.array.clienti_Arrays));
adapter=new ArrayAdapter(这是android.R.layout.simple\u微调器\u项,planets);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
微调器=(微调器)findViewById(R.id.spinner1);
旋转器。设置适配器(适配器);
收藏。分类(行星);
addButton=(按钮)findViewById(R.id.add\u new);
setOnClickListener(新的OnClickListener()
{
公共void onClick(视图v)
{
addNewSpinnerItem();
}
});
}
受保护的void addNewSpinnerItem()
{
字符串textHolder=“”+Text.getText().toString();
适配器。添加(文本保持器);
}
}
请帮帮我

 addButton.setOnClickListener(new OnClickListener()
 {
      public void onClick(View v)
      {
        addNewSpinnerItem();
        Collections.sort(adapter);
      }
 });

也许吧?

你检查过文件了吗?有

您只需要实现自己的比较器。我想只是:

int比较(字符串s1、字符串s2){
返回s1.compareTo(s2);
}


:)

我实现了Comparator,在代码末尾插入了public int compare(字符串s1,字符串s2){return s1.compareTo(s2);}..不工作!为什么?对不起。我已经解决了,但它排序第一个大写字母和第二个小写字母。为什么?例如,首先是XXX、YYY、ZZZ,然后是aaa、bbb、cccbe,因为这是Java比较字符串对象的方式。如果要修改它,应该更改比较函数:int compare(字符串s1,字符串s2){返回s1.toLowerCase().compareTo(s2.toLowerCase());}