2009年12月19日星期六

加點互動的 Hello World: 加入TextView, EditText和Button.

加點互動的 Hello World

在這次練習中, 將要編寫一個有點互動的Hello World. 就像下圖:

Interactive Hello World!

當中包含一個TextView, 一個EditText和一個OK Button. 在EditText中輸入名字, 再按OK Button, 程式將會根據EditText中輸入的名字更新TextView.

首先, 重複前面文章"Hello Android!"的步驟, 創建一個Android Application.

如下修改/res/layout/main.xml, 加入一個TextView, 一個EditText和一個Button.

<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>

<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你好!"
/>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="- OK -"
/>

</LinearLayout>

再修改/src/com.HelloAnroid/HelloAndroid.java.


package com.HelloAndroid;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class HelloAndroid extends Activity {


TextView textViewMessage;
EditText editTextName;
Button buttonOk;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


textViewMessage = (TextView)findViewById(R.id.message);
editTextName = (EditText)findViewById(R.id.name);
buttonOk = (Button)findViewById(R.id.button);
buttonOk.setOnClickListener(
new Button.OnClickListener(){
public void onClick(View v) {
textViewMessage.setText(
editTextName.getText()
+ " 你好!");
}

}
);

}
}




沒有留言:

發佈留言