![](/img/trans.png)
[英]How to get the currently typed text from edittext using textwatcher?
[英]Android get text typed in EditText
我有一个editText,如何获取用户键入的文本?
例如,这是我的editText
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="10">
</EditText>
并且用户键入了Hi,在我的下一个活动中如何显示?如果用户键入了Hi,则在下一个活动Hello中显示。
我要用什么? 和数据库有关吗?
首先,在当前活动(即视图中托管EditText
组件的活动)中拾取文本。
EditText txt = (EditText)findViewById(R.id.editText3);
String input = txt.getText().toString();
现在,将其添加为额外数据并调用您的新活动。
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("input",input);
startActivity(i);
在NewActivity
onCreate()
里面:
Intent i = getIntent();
String input = i.getStringExtra("input");
瞧,您在新活动中输入了文本。
要将其设置为新的TextView
:
TextView txtView = (TextView)findViewById(R.id.yourTextView);
txtView.setText(input);
最简单的方法是使用Intent
的getExtra()
和putExtra()
方法,进行简单的String
比较并返回结果。
以下是一些入门指南: 如何从Android上的Intent中获取更多数据? 以及如何比较Java中的字符串? 。
但是从您所写的内容来看,您似乎正在尝试创建一个聊天应用程序,其中您的应用程序响应用户键入的消息。 为此,我建议您使用AIML 。 这是一个很长的远景,但值得。
假设您的班级名称是: Main
首先声明一个静态public String:
public static String myText;
现在,在您的OnCreate方法中键入:
EditText et = (EditText) findViewById(R.id.editText3);
最后,在您的OnClick方法中输入:
myText = getText().toString();
Intent x = new Intent(getApplicationContext(), NewActivity.class);
startActivity(x);
现在,在下一个活动中,您只能使用来访问字符串:
Main.myText
举个例子:
TextView txt =(TextView) findViewById(R.id.textviewid);
txt.setText(Main.myText);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.