如何获取android安卓控件EditText中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取android安卓控件EditText中的内容相关的知识,希望对你有一定的参考价值。

方法:
final TextView ledShow = (TextView)findViewById(R.id.Led_Show);
final EditText ledEdit = (EditText)findViewById(R.id.Led_Edit);
Button ledButton = (Button)findViewById(R.id.Edit_Button);
ledEdit.setInputType(InputType.TYPE_CLASS_TEXT);
ledButton.setOnClickListener(new View.OnClickListener()
public void onClick(View v)
//获取EditText控件ledShow的输入内容,并用ledShow显示
ledShow.setText(ledEdit.getText().toString());

);
知识点延伸:
EditText是接受用户输入信息的最重要控件。EditText的属性有:
android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示, 还有bottom
android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。 < !--
android:gray="top" //多行中指针在第一行第一位置
et.setSelection(et.length());//调整光标到最后一行
Android:autoText//自动拼写帮助
Android:capitalize//首字母大写
Android:digits//设置只接受某些数字
Android:singleLine //是否单行或者多行,回车是离开文本框还是文本框增加新行
Android:numeric //只接受数字
Android:password //密码
Android:phoneNumber // 输入电话号码
Android:editable //是否可编辑
Android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址
android:password="true"//设置只能输入密码
android:textColor= "#ff8c00"//字体颜色
android:textStyle="bold"//字体,bold, italic,bolditalic
android:textSize="20dip"//大小
参考技术A et = (EditText)findViewById(R.id.edittext);
String value = et.getText().toString();本回答被提问者和网友采纳
参考技术B edittext.getText().toString()

Android从零单排系列七《Android视图控件——EditText》

目录

前言

一.EditText基本介绍

二.EditText常用主要属性介绍

三.Activity中设置EditText属性

四.Demo示例


前言

小伙伴们,在上文中我们介绍了Android视图控件TextView控件,本文我们继续盘点,介绍一下Android视图控件中的第二个控件——EditText。

一.EditText基本介绍

在安卓应用上编辑文本内容,我们通常使用EditText。 

二.EditText常用主要属性介绍

1.是否可以编辑

android:editable="false"不可编辑
android:editable="true"可编辑

可编辑状态 :

不可编辑状态:

 

2.编辑框默认提示

android:hint输入框文本提示,比如我写android:hint="请输入电话号码"

 

 3.设置边框

android:background="@drawable/edit_background"

edit_background.xml定义在drawable文件夹下面,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:shape="rectangle">
            <solid android:color="#efefef"/>
            <corners android:radius="5dp"/>
            <stroke
                android:width="1dp"
                android:color="#505050"/>
        </shape>
    </item>
</layer-list>

 4.设置输入内容数据类型 android:inputType

例如:android:inputType="textPassword"就是字符串类型的密码,输入结束后会隐藏

挑选一些比较重要的属性解释一下,除了这些其他的自行在网上搜索即可。

android:inputType=text:普通字符。

android:inputType=number:数字。
android:inputType=textCapCharacters:字母大写。
android:inputType=textEmailAddress:电子邮件地址。
android:inputType=textMultiLine:多行输入。

android:inputType=textPostalAddress:地址。
android:inputType=textPassword:密码。
android:inputType=textUri:网址。
android:inputType=numberSigned:带符号数字格式。
android:inputType=datetime:时间日期。
android:inputType=date:日期键盘。
android:inputType=time:时间键盘。

 5.默认失去焦点

1)android:focusable="false"

  2)activity中设置

     EditText editText = findViewById(R.id.editText);
        editText.setTextSize(20);
        editText.clearFocus();

3)在包含EditText的父控件(大多数时候是一个Layout)中设置以下两个属性即可:

android:focusable="true"

android:focusableInTouchMode="true"

6.设置默认不弹出软键盘

activity中设置

   <activity
            android:name=".EditTextActivity"
            android:windowSoftInputMode="adjustUnspecified|stateHidden"
            android:configChanges="orientation|keyboardHidden"</activity>

7.android:maxLine

设置最多输入的行数

三.Activity中设置EditText属性

这里主要说下监听,监听编辑框内输入内容

     EditText editText = findViewById(R.id.editText);
        editText.addTextChangedListener(new TextWatcher() 
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) 

            

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) 
                Log.i("文本监听","----再见孙悟空------文字输入变化");
            

            @Override
            public void afterTextChanged(Editable editable) 

            
        );

四.Demo示例

Activity

package com.example.myapplication;
/**
 *
 * */

import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.Gravity;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class EditTextActivity extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edittext);
        initView();
    

    private void initView() 
        EditText editText = findViewById(R.id.editText);
        editText.addTextChangedListener(new TextWatcher() 
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) 

            

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) 
                Log.i("文本监听","----再见孙悟空------文字输入变化");
            

            @Override
            public void afterTextChanged(Editable editable) 

            
        );
        editText.setTextSize(20);
//        editText.clearFocus();//设置失去焦点事件
    

activity_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/editText"
        android:text=""
        android:hint=""
        android:background="@drawable/edit_background"
        android:layout_width="match_parent"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:inputType="number"
        />

</LinearLayout>

edit_background.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:shape="rectangle">
            <solid android:color="#efefef"/>
            <corners android:radius="5dp"/>
            <stroke
                android:width="1dp"
                android:color="#505050"/>
        </shape>
    </item>
</layer-list>

以上是关于如何获取android安卓控件EditText中的内容的主要内容,如果未能解决你的问题,请参考以下文章

Android从零单排系列七《Android视图控件——EditText》

Android从零单排系列七《Android视图控件——EditText》

Android控件ListView获取item中EditText值

Android控件ListView获取item中EditText值

Android如何判断控件获取焦点啊?

Android 如何让EditText不自动获取焦点