| |
■Form Stuff 作成2 - EditText
1.次のようにEclipseから新しいプロジェクトを生成します。
2.res -> layout -> 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/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout> |
3.src-> my.HelloFormStuff2 -> HelloFormStuff2.java を開いて次のように変更します。
package my.HelloFormStuff2; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.EditText; import android.widget.Toast; public class HelloFormStuff2 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final EditText edittext = (EditText) findViewById(R.id.edittext); edittext.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { // Perform action on key press Toast.makeText(HelloFormStuff2.this, edittext.getText(), Toast.LENGTH_SHORT).show(); return true; } return false; } }); } } |
ソースコードを見ると
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER))
この部分でキーが押されたときにかつ、押されたキーがENTERの場合、動作することが分かります。
上のコードで必要なpackageは Ctrl + Shift + O を押すと自動追加されるが、 Ctrl+ Shift + O を押すと次のような選択画面が表示されます。
この時、下のOnClickListenerを選択してFinishを押下します。
Ctrl+F11 で実行します。
EditText に Hello Androidを入力してEnterキーを押すと下にHello Android と文字が表示されます。