title: Enter key starting a new line in EditText instead of submitting the text (Android)
body: <p>I have a simple todolist app I'm creating whereby new todo items are added via an EditText View. So I'm trying to have it <strong>submit the new item</strong> to the list <strong>when I press the enter key</strong>. For some reason though <strong>it just enters a new line instead</strong>. I have also noticed that it <strong>works fine</strong> when I use the enter key <strong>via an AVD</strong> through eclipse but the <strong>problem only occurs when I'm running it through my Nexus 4.</strong> </p>
  
  <p>Here is my code:</p>
  
  <pre><code>@Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.todo_main);
  
      //Create reference to the ListView in the main layout
      ListView myListView = (ListView)findViewById(R.id.myListView);
  
      //Create a reference to the EditText view in the main layout for adding new items
      final EditText editText = (EditText)findViewById(R.id.myEditText);
  
      //Create a an arraylist to hold all the todo items
      final ArrayList&lt;String&gt; todoList = new ArrayList&lt;String&gt;();
  
      //Create an ArrayAdaptor object to be able to bind ArrayLists to ListViews
      final ArrayAdapter&lt;String&gt; arrayAdaptor = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, todoList);
      myListView.setAdapter(arrayAdaptor);
  
      //Listens for certain keys to be pushed, particular the dpad center key or enter key
      editText.setOnKeyListener(new View.OnKeyListener() {    
          @Override
          public boolean onKey(View v, int keyCode, KeyEvent event) {
              if(event.getAction() == KeyEvent.ACTION_DOWN)
              {
                  if((keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_DPAD_CENTER))
                  {
                      //add item in the EditText to the todo list 
                      todoList.add(0, editText.getText().toString());
                      //Update the view by notifying the ArrayAdapter of the data changes
                      arrayAdaptor.notifyDataSetChanged();
                      editText.setText("");
                      return true;
                  }
                  return false;
              }
              return false;
          }
      });
  }
  </code></pre>
  
  <p>And XML:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".ToDoListActivity"&gt;
  
  &lt;EditText
      android:id="@+id/myEditText"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="@string/addItemHint"
      android:imeOptions="actionDone"
  /&gt;
  
  &lt;ListView
      android:id="@+id/myListView"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"  
  /&gt;
  </code></pre>
  
  <p></p>
  
  <p><strong>Please note that I have found similar questions on stack overflow but none seem to solve my problem.</strong> I've tried!</p>