Mega Code Archive

 
Categories / Android / UI
 

Add key listener to add the new todo item when the middle D-pad button is pressed

package app.test; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; public class Test extends Activity {   @Override   public void onCreate(Bundle icicle) {     super.onCreate(icicle);     setContentView(R.layout.main);     ListView myListView = (ListView)findViewById(R.id.myListView);     final EditText myEditText = (EditText)findViewById(R.id.myEditText);     final ArrayList<String> todoItems = new ArrayList<String>();     final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,todoItems);     myListView.setAdapter(aa);     myEditText.setOnKeyListener(new OnKeyListener() {       public boolean onKey(View v, int keyCode, KeyEvent event) {         if (event.getAction() == KeyEvent.ACTION_DOWN)           if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {             todoItems.add(0, myEditText.getText().toString());             myEditText.setText("");             aa.notifyDataSetChanged();             return true;           }         return false;       }     });        }     } //main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent">   <EditText     android:id="@+id/myEditText"     android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="New To Do Item"   />   <ListView       android:id="@+id/myListView"     android:layout_width="fill_parent"      android:layout_height="wrap_content"    /> </LinearLayout>