2016-03-21 33 views
0

[這裏是我的輸出截圖] [1]Android:排序字母EditText

我想排序數組的元素。 我已經將元素從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]); 

      } 


     } 
    }); 

[1]:http://i.stack.imgur.com/dowdE.jpg

+1

你說有什麼不對,可以顯示錯誤信息或者其他什麼錯誤 –

+0

它顯示數組名稱下的紅線。我試圖在不同的地方輸入,但仍然無法使用。 – RAKH

+0

你想對EditText中的字符串或實際的EditText對象進行排序嗎? –

回答

1

我想,這可能會工作(這個替換的onClick代碼):

String[] strings = ed.getText().toString().split("\\r?\\n"); 
Arrays.sort(strings); 
String output = TextUtils.join("\\n",strings); 
ed2.setText(output); 
+1

謝謝!!!!!!!!! – RAKH

3

可能是這樣的?

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)); 
    } 
});