Java Android:在EditText中对字母进行排序

Java Android:在EditText中对字母进行排序,java,android,arrays,sorting,collections,Java,Android,Arrays,Sorting,Collections,[这是我的输出截图][1] 我试图对数组的元素进行排序。 我已经将元素从EditText1(ed)存储到数组中,我想对它们进行排序并在EditText2中显示它们。 我已经完成了对它们的存储和显示,我想使用Collections.sort(array)对它们进行排序但它告诉我出了什么问题 这是我目前的代码: public class MainActivity extends AppCompatActivity { List<EditText> allEds = new ArrayLi

[这是我的输出截图][1]

我试图对数组的元素进行排序。 我已经将元素从EditText1(ed)存储到数组中,我想对它们进行排序并在EditText2中显示它们。 我已经完成了对它们的存储和显示,我想使用
Collections.sort(array)对它们进行排序但它告诉我出了什么问题

这是我目前的代码:

public class MainActivity extends AppCompatActivity {
List<EditText> allEds = new ArrayList<EditText>();
 EditText ed,ed2;
RelativeLayout container;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     ed= (EditText)findViewById(R.id.editText);
    ed2=(EditText)findViewById(R.id.editText2);
    final Button b=(Button)findViewById(R.id.button);
    container = (RelativeLayout)findViewById(R.id.rl);


    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            allEds.add(ed);
            String[] strings = new String[allEds.size()];
            for(int i=0; i < allEds.size(); i++){
                strings[i] = allEds.get(i).getText().toString();
                Log.e("My data", strings[i]);
                ed2.setText(strings[i]);

            }


        }
    });
public类MainActivity扩展了AppCompatActivity{
List alled=new ArrayList();
编辑文本,ed2;
相对长度容器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed=(EditText)findViewById(R.id.EditText);
ed2=(EditText)findViewById(R.id.editText2);
最终按钮b=(按钮)findViewById(R.id.Button);
容器=(RelativeLayout)findViewById(R.id.rl);
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
添加(ed);
String[]strings=新字符串[allEds.size()];
for(int i=0;i
[1] :


我认为这可能会起作用(用以下代码替换onClick中的代码):


我认为这可能会起作用(用以下代码替换onClick中的代码):


可能是这样的

public class MainActivity extends AppCompatActivity {
    List<String> allEds = new ArrayList<String>();
    EditText ed,ed2;
    RelativeLayout container;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      ed= (EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      final Button b=(Button)findViewById(R.id.button);
      container = (RelativeLayout)findViewById(R.id.rl);

      b.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String str = ed.getText().toString();
        String lines[] = str.split("\\r?\\n");
        Arrays.sort(lines);

        ed2.setText(TextUtils.join("\n", lines));
    }
});
public类MainActivity扩展了AppCompatActivity{
List alled=new ArrayList();
编辑文本,ed2;
相对长度容器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed=(EditText)findViewById(R.id.EditText);
ed2=(EditText)findViewById(R.id.editText2);
最终按钮b=(按钮)findViewById(R.id.Button);
容器=(RelativeLayout)findViewById(R.id.rl);
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串str=ed.getText().toString();
字符串行[]=str.split(\\r?\\n”);
数组。排序(行);
ed2.setText(TextUtils.join(“\n”,行));
}
});

可能是这样的吗

public class MainActivity extends AppCompatActivity {
    List<String> allEds = new ArrayList<String>();
    EditText ed,ed2;
    RelativeLayout container;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      ed= (EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      final Button b=(Button)findViewById(R.id.button);
      container = (RelativeLayout)findViewById(R.id.rl);

      b.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String str = ed.getText().toString();
        String lines[] = str.split("\\r?\\n");
        Arrays.sort(lines);

        ed2.setText(TextUtils.join("\n", lines));
    }
});
public类MainActivity扩展了AppCompatActivity{
List alled=new ArrayList();
编辑文本,ed2;
相对长度容器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed=(EditText)findViewById(R.id.EditText);
ed2=(EditText)findViewById(R.id.editText2);
最终按钮b=(按钮)findViewById(R.id.Button);
容器=(RelativeLayout)findViewById(R.id.rl);
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串str=ed.getText().toString();
字符串行[]=str.split(\\r?\\n”);
数组。排序(行);
ed2.setText(TextUtils.join(“\n”,行));
}
});

如果您说有问题,是否可以显示错误消息或其他错误。它在数组名称下显示红线。我尝试在不同的位置键入,但仍然无效。是否要对EditText或实际的EditText对象中的字符串进行排序?能否显示日志的示例输出?我编辑了我的问题并添加了一个screenshot.如果您说有问题,是否可以显示错误消息或其他错误信息?它在数组名称下显示红线。我尝试在不同的位置键入,但仍然无效。是否要对EditText或实际的EditText对象中的字符串进行排序?能否显示日志的示例输出?我编辑了我的问题并添加了一个屏幕截图。