美文网首页
EditText获取多个按钮中的文字内容

EditText获取多个按钮中的文字内容

作者: 闲人逛小白 | 来源:发表于2017-07-20 21:44 被阅读0次

    EditText获取字符串可以通过setText()方法来设置,但是通常下一个内容都会覆盖前一个内容,这样有时就不能达到连续点击输入的效果了!


    正文要点:

    1.新建一个项目,之后在主布局文件中添加一个EditText和三个Button按钮。
    main.xml
    <pre>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:ems="10"
        android:id="@+id/ed"/>
    
    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="字符串一"
        android:id="@+id/bt1"
        android:onClick="字符1"/>
    
    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="字符串二"
        android:id="@+id/bt2"
        android:onClick="字符2"/>
    
    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="字符串三"
        android:id="@+id/bt3"
        android:onClick="字符3"/>
    

    </LinearLayout>
    </pre>


    上面Button控件按钮中的android:onClick属性是设置其可点击,这样在之后的java中为其绑定监听器设置点击事件就方便些。


    2.Java代码

    <pre>
    package com.mycompany.myapp10;

    import android.app.;
    import android.os.
    ;
    import android.view.;
    import android.widget.
    ;

    public class MainActivity extends Activity
    {

    //声明控件
    private EditText ed;
    private Button bt1,bt2,bt3;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //绑定控件ID
        ed=(EditText) findViewById(R.id.ed);
        bt1=(Button) findViewById(R.id.bt1);
        bt2=(Button) findViewById(R.id.bt2);
        bt3=(Button) findViewById(R.id.bt3);
    
    }
    //控件点击事件
    public void 字符1(View view){
        
        ed.setText(ed.getText().toString()+bt1.getText().toString());
    

    //设置光标在最后
    ed.setSelection (ed.getText ().toString ().length ());

    }
    
    public void 字符2(View view){
    
    ed.setText(ed.getText().toString()+bt2.getText().toString());
    

    //设置光标在最后
    ed.setSelection (ed.getText ().toString ().length ());
    }
    public void 字符3(View view){

    ed.setText(ed.getText().toString()+bt3.getText().toString());
    

    //设置光标在最后
    ed.setSelection (ed.getText ().toString ().length ());
    }
    }

    </pre>

    3.解释:
    ed.setText(ed.getText().toString()+bt1.getText().toString());
    第一次点击时,显示的内容只有bt1控件中的文字,因为第一次时EditText控件内容是空的,所以和bt1拼接成的字符就相当于:0+1="1";

    第二次点击时,显示的是第一次bt1的内容+bt1控件中的文字,所以此时拼接成的字符就相当于:1+1="11"
    后面的以此类推.........


    4.小白一枚,记录学习过程。文章中有不足,均可指点指点,亦有什么更好的实现(相似)方法望不奢指教,共勉齐学习!


    EditText获取多个按钮中的文字内容

    相关文章

      网友评论

          本文标题:EditText获取多个按钮中的文字内容

          本文链接:https://www.haomeiwen.com/subject/uxnjkxtx.html