玩转Android---UI篇---EditText(编辑框)
2015-07-27 10:19
691 查看
原址:http://hualang.iteye.com/category/143855
EditText是可编辑的文本框。
在用户没有输入的时候,我们默认在编辑框中显示“请输入数字”的提示,要实现这一功能很简单,秩序哟啊“EditText.setHint("请输入数字")”或者在XML布局文件上写上“android:hint="请输入数字"”即可
下面通过一个简单的计算器来说明EditText的使用
calculater.java源文件
package org.loulijun.calculate;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Calculater extends Activity {
/** Called when the activity is first created. */
private EditText numberone;
private EditText numbertwo;
private Button mybutton;
private TextView symbol;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
numberone=(EditText)findViewById(R.id.numberone);
numbertwo=(EditText)findViewById(R.id.numbertwo);
mybutton=(Button)findViewById(R.id.mybutton);
symbol=(TextView)findViewById(R.id.symbol);
mybutton.setOnClickListener(new Calculate());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 1, R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==1)
{
finish();
}
else if(item.getItemId()==2)
{
Toast.makeText(this, "亲爱的你可知,我有多么思念你!", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
class Calculate implements OnClickListener
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String number1=numberone.getText().toString();
String number2=numbertwo.getText().toString();
Intent intent=new Intent();
intent.putExtra("num1",number1);
intent.putExtra("num2", number2);
intent.setClass(Calculater.this,Result.class);
Calculater.this.startActivity(intent);
}
}
}
Result.java源文件
package org.loulijun.calculate;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Result extends Activity {
private TextView textview;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
textview=(TextView)findViewById(R.id.textview);
Intent intent=getIntent();
String numberone=intent.getStringExtra("num1");
String numbertwo=intent.getStringExtra("num2");
Double d1=Double.parseDouble(numberone);
Double d2=Double.parseDouble(numbertwo);
Double result=d1/d2;
textview.setText(numberone+" / "+numbertwo+" = "+result);
}
}
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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/numberone"
android:hint="请输入数字"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/symbol"
android:text="@string/symbol"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/numbertwo"
android:hint="请输入数字"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mybutton"
android:text="@string/calculate"
/>
</LinearLayout>
result.xml布局文件,用于显示结果
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
/>
</LinearLayout>
strings.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Calculater!</string>
<string name="app_name">Calculater</string>
<string name="symbol">除以</string>
<string name="calculate">计算结果</string>
<string name="result">计算结果</string>
<string name="exit">退出</string>
<string name="about">帮助</string>
</resources>
注意:要在AndroidManifest.xml中注册Result.java,否则运行会出错
</activity>
<activity android:name=".Result" android:label="@string/result">
</activity>
运行结果:
![](http://dl.iteye.com/upload/attachment/437029/65da9953-3edf-31d7-b05f-c4befab7336c.gif)
![](http://dl.iteye.com/upload/attachment/437031/ee50de4f-1bf0-3495-8fab-7dcefb328f69.gif)
![](http://dl.iteye.com/upload/attachment/437033/ae6c8feb-c0d5-39b6-8b41-097dd20f1ff4.gif)
java.lang.Object | |||
↳ | android.view.View | ||
↳ | android.widget.TextView | ||
↳ | android.widget.EditText |
在用户没有输入的时候,我们默认在编辑框中显示“请输入数字”的提示,要实现这一功能很简单,秩序哟啊“EditText.setHint("请输入数字")”或者在XML布局文件上写上“android:hint="请输入数字"”即可
下面通过一个简单的计算器来说明EditText的使用
calculater.java源文件
package org.loulijun.calculate;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Calculater extends Activity {
/** Called when the activity is first created. */
private EditText numberone;
private EditText numbertwo;
private Button mybutton;
private TextView symbol;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
numberone=(EditText)findViewById(R.id.numberone);
numbertwo=(EditText)findViewById(R.id.numbertwo);
mybutton=(Button)findViewById(R.id.mybutton);
symbol=(TextView)findViewById(R.id.symbol);
mybutton.setOnClickListener(new Calculate());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 1, R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==1)
{
finish();
}
else if(item.getItemId()==2)
{
Toast.makeText(this, "亲爱的你可知,我有多么思念你!", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
class Calculate implements OnClickListener
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String number1=numberone.getText().toString();
String number2=numbertwo.getText().toString();
Intent intent=new Intent();
intent.putExtra("num1",number1);
intent.putExtra("num2", number2);
intent.setClass(Calculater.this,Result.class);
Calculater.this.startActivity(intent);
}
}
}
Result.java源文件
package org.loulijun.calculate;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Result extends Activity {
private TextView textview;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
textview=(TextView)findViewById(R.id.textview);
Intent intent=getIntent();
String numberone=intent.getStringExtra("num1");
String numbertwo=intent.getStringExtra("num2");
Double d1=Double.parseDouble(numberone);
Double d2=Double.parseDouble(numbertwo);
Double result=d1/d2;
textview.setText(numberone+" / "+numbertwo+" = "+result);
}
}
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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/numberone"
android:hint="请输入数字"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/symbol"
android:text="@string/symbol"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/numbertwo"
android:hint="请输入数字"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mybutton"
android:text="@string/calculate"
/>
</LinearLayout>
result.xml布局文件,用于显示结果
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
/>
</LinearLayout>
strings.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Calculater!</string>
<string name="app_name">Calculater</string>
<string name="symbol">除以</string>
<string name="calculate">计算结果</string>
<string name="result">计算结果</string>
<string name="exit">退出</string>
<string name="about">帮助</string>
</resources>
注意:要在AndroidManifest.xml中注册Result.java,否则运行会出错
</activity>
<activity android:name=".Result" android:label="@string/result">
</activity>
运行结果:
![](http://dl.iteye.com/upload/attachment/437029/65da9953-3edf-31d7-b05f-c4befab7336c.gif)
![](http://dl.iteye.com/upload/attachment/437031/ee50de4f-1bf0-3495-8fab-7dcefb328f69.gif)
![](http://dl.iteye.com/upload/attachment/437033/ae6c8feb-c0d5-39b6-8b41-097dd20f1ff4.gif)
![](http://dl.iteye.com/upload/attachment/437035/5325a05f-3f73-3ae5-a3d9-4ed11ba56a87.gif)
相关文章推荐
- 下载服务器代码出现fatal: git 1.7.2 or later required的问题解决方法
- 玩转Android---UI篇---TextView(文本框)
- 玩转Android---UI篇---Button(按钮)
- OO’s Sequence
- This Android SDK requires Android Developer Toolkit version 23.0.0 or above. Current version is 22.
- UI____UIEvent以及响应者链
- POJ2031,Building a Space Station,最小生成树模版题
- hdu 5312 Sequence(三角形数)
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- GUICE
- iOS—UI-手势及控件(segment switch slider)的使用
- 使用Hibernate SQLQuery执行原生SQL
- HDOJ 1005 Number Sequence(规律)
- Unique Attack (zoj 2587 判定最小割是否唯一)
- HDU 5311 Sequence
- 源码推荐(7.27):仿城觅2.0 附博客讲解及超全注释,聊天UI
- UIView、UILabel
- UEditor扩展上传
- H - Can you answer these queries? - (区间查询更新)
- Android MenuItem 设置文本颜色-TextColor设置