`

玩转Android---UI篇---EditText(编辑框)

阅读更多

 

java.lang.Object
   ↳ android.view.View
   ↳ android.widget.TextView
   ↳ android.widget.EditText

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>

运行结果:


 



 

 


  • 大小: 38.7 KB
  • 大小: 38.6 KB
  • 大小: 34.7 KB
  • 大小: 38.8 KB
分享到:
评论

相关推荐

    Android---UI篇

    •Android---UI篇---EditText(编辑框) • •Android---UI篇---DatePicker,TimePicker(日期和时间) • •Android---UI篇---ImageButton(带图标的按钮) • •Android---UI篇---RadioButton(单选按钮) • •Android...

    android-edittext-validator-master.zip

    这个项目"android-edittext-validator-master"提供了一套解决方案,它可能包括自定义验证器类、规则定义以及与UI交互的反馈机制。 首先,项目中可能包含自定义验证器类(如EmailValidator, PhoneNumberValidator等...

    Android代码-android-edittext-validator

    Android Form EditText Android form edit text is an extension of EditText that brings data validation facilities to the edittext. Example App I built an example app that showcase some of the ...

    安卓EditText输入框相关-android-edittext-validator提供了内容验证的编辑框.rar

    `android-edittext-validator`是一个库项目,旨在简化EditText的内容验证过程,确保用户输入的数据符合特定的格式或规则。这个库可以帮助开发者避免在每个输入字段中编写重复的验证逻辑,提升应用的用户体验。 `...

    Android-Android-Prefix-Input为EditText添加prefix前缀模式

    在`bachors-Android-Prefix-Input-94c23be`这个压缩包中,包含了`Android-Prefix-Input`项目的源码,开发者可以深入研究其内部实现,以便更好地理解和定制化使用。源码的学习有助于我们理解如何扩展Android的UI组件...

    android 编辑框事件处理----EditText

    常用输入编辑框,初学者实用。 &lt;EditText android:id="@+id/editText01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/app1_edittext01"/&gt; android:id=...

    android-EditText边框颜色

    当我们需要对`EditText`的外观进行自定义,特别是调整其边框颜色时,这通常是UI设计需求的一部分,使得应用界面更加美观和个性化。本教程将详细讲解如何在Android中改变`EditText`的边框颜色,适合初学者学习。 ...

    Android代码-Android-EditText-Validations

    Android EditText Validations Easily Validate EditTexts This library is best used with Kotlin, and is to help reduce ...implementation 'com.github.thomhurst:Android-EditText-Validations:{version}' Us

    Android--EditText的富文本组件

    本篇文章将详细探讨如何在Android中实现一个基于原生EditText的富文本组件。 首先,`EditText`是一个简单的文本输入框,它可以接收用户的文本输入并显示。然而,它的功能相对有限,不支持诸如插入图片、设置文本...

    安卓EditText输入框相关-Android框架chips-edittext-library.rar

    在`Android框架chips-edittext-library.rar`中,我们可以看到一个专门针对`EditText`的扩展库,它可能包含了一些增强`EditText`功能的实现,比如`ChipsEditText`,这种设计通常是为了提供更丰富的用户体验,例如在...

    Android-EditText-Validations,轻松验证编辑文本.zip

    这个开源项目"Android-EditText-Validations"正是为了解决这个问题而创建的。它提供了一种简单的方式来对`EditText`中的输入进行有效验证。 项目的核心在于它封装了一系列验证规则,使得开发者可以方便地应用到`...

    android-widget-keyboardless-edittext, 没有键盘显示的Android 所有编辑操作仍然工作.zip

    android-widget-keyboardless-edittext, 没有键盘显示的Android 所有编辑操作仍然工作 KeyboardlessEditText本机 Android,除非用户与它交互时不会出现键盘。 所有其他编辑操作仍然工作。用户仍然可以使用这个小部件...

    Android-部分可编辑的EditText

    有一个需求是这样的,页面上有一个输入框,供用户输入手机号码,如果通讯录里面存在这个号码,会自动把名字追加到号码后面。...没办法,之好在一个EditText里面来实现号码部分可编辑,名字是自动追加上的。

    Android-AndroidEditText多行文本输入字数统计限制数量

    本篇将深入探讨如何实现`Android EditText`的多行文本输入字数统计及限制功能。 首先,我们需要明白`EditText`的基本用法。它是一个可编辑的文本视图,继承自`TextView`,用户可以在其中输入、修改或删除文本。默认...

    Android 点击EditText编辑框清除hint预设字

    `android:hint`是`EditText`的一个属性,用于设置输入框内的提示文字。在默认情况下,当用户焦点进入`EditText`或者开始输入时,`Hint`会自动消失。 要实现点击`EditText`清除`Hint`的功能,我们可以通过监听`...

    Android-- EditText与InputFilter实现文本对比

    这篇博客“Android-- EditText与InputFilter实现文本对比”探讨了如何使用`InputFilter`来实现文本对比功能,以达到特定的输入限制或者数据验证目的。我们可以通过分析`MyFilterTest.java`这个源码文件来深入理解这...

    Android-ChipsLibrary-在AndroidEditText中实现打Tag功能

    `ChipsLibrary` 是一个专门用于在Android的`EditText`组件中实现打Tag功能的开源库,它提供了一种高效且直观的方式来展示和管理用户输入的标签。这个库使得在输入框中创建、编辑和删除标签变得简单,极大地提升了...

    Android代码-edittext-mask

    MaskedEditText This project derives from toshikurauchi/MaskedEditText, but it's been adapted for gradle build system and has additional features: ...MaskedEditText is a simple Android EditText wi

    Android-聊天UIDemo支持文字表情语音图片的聊天UI界面

    在Android开发中,构建一个功能丰富的聊天用户界面(UI)是相当常见的需求,尤其是在社交应用、团队协作工具或者在线客服系统中。这个“Android-聊天UIDemo支持文字表情语音图片的聊天UI界面”是一个示例项目,它...

    Android代码-EditText显示icon

    IconEditText provides a reusable view for displaying an ImageView with an EditText for Android 4.0 . Usage Using the IconEditText is easy enough, just clone the repo and add it to your project as ...

Global site tag (gtag.js) - Google Analytics