EditText的介绍和应用
整体过程:
在widgetDemo.java里面添加下面代码:
在find_and_modify_button()方法里面添加如下两句:
Button edit_view_button = (Button) findViewById(R.id.edit_view_button); edit_view_button.setOnClickListener(edit_view_button_listener);
private Button.OnClickListener edit_view_button_listener=new Button.OnClickListener(){ public void onClick(View v) { Intent intent=new Intent(); intent.setClass(WidgetDemo.this, EditTextActivity.class); startActivity(intent); } };
EditTextActivity.java里面的代码:
package com.example.widgetdemo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class EditTextActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("EditTextActivity"); setContentView(R.layout.editview); find_and_modify_text_view(); } private void find_and_modify_text_view() { Button get_edit_view_button = (Button) findViewById(R.id.get_edit_view_button); get_edit_view_button.setOnClickListener(get_edit_view_button_listener); } private Button.OnClickListener get_edit_view_button_listener = new Button.OnClickListener() { public void onClick(View v) { EditText edit_text = (EditText) findViewById(R.id.edit_text); CharSequence edit_text_value = edit_text.getText(); setTitle("EditText的值:"+edit_text_value); } }; }
editview.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:text="please input:" android:id="@+id/edit_text" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> <Button android:text="Require the value of EditView" android:id="@+id/get_edit_view_button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> </LinearLayout>
以及manifest里面添加的代码:
</activity> <activity android:name="TextActivity"> </activity>
运行结果如图所示:
在EditText里面输入文字:
点击显示EditView的值的按钮,则其值就被显示在title上面:
具体的实现过程:
首先在程序的主入口界面上添加一个名字为”EditText“的按钮,并设定其监听器在接受到单击事件时,程序打开展示EditText的界面,在XML文件中添加Button的代码如下:
<Button android:text="EditView" android:id="@+id/edit_view_button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button>
代码解释:定义一个id为edit_view_button的按钮,并设定其显示为EditView,而且宽度和高度都是根据内容调整
其响应办法如下:
private Button.OnClickListener edit_view_button_listener=new Button.OnClickListener(){ public void onClick(View v) { Intent intent=new Intent(); intent.setClass(WidgetDemo.this, EditTextActivity.class); startActivity(intent); } };
代码解释:
单击按钮的时候,跳转到下一个Activity,也就是EditTextActivity上面
其onCreate()方法代码如下:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("EditTextActivity"); setContentView(R.layout.editview); find_and_modify_text_view(); }
代码解释:
这里指定其模板文件为editview需要添一个EditText的组件,添加的代码为:
<EditText android:text="please input:" android:id="@+id/edit_text" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText>
为了实现将EditView的值显示到Title上,需要添加一个Button,并且在EditTextActivity.java里面添加单击该按钮的响应方法。
在Xml中添加一个Button
<Button android:text="Require the value of EditView" android:id="@+id/get_edit_view_button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button>
以及其单击响应的代码:
private void find_and_modify_text_view() { Button get_edit_view_button = (Button) findViewById(R.id.get_edit_view_button); get_edit_view_button.setOnClickListener(get_edit_view_button_listener); } private Button.OnClickListener get_edit_view_button_listener = new Button.OnClickListener() { public void onClick(View v) { EditText edit_text = (EditText) findViewById(R.id.edit_text); CharSequence edit_text_value = edit_text.getText(); setTitle("EditText的值:"+edit_text_value); } };
获取EditText的值,并显示在title上面。