Android获取在EditText中键入的文本

时间:2012-08-19 06:38:49

标签: java android android-edittext

我有一个editText,如何让用户输入文字?

例如,这是我的editText

<EditText
   android:id="@+id/editText3"
   android:layout_width="match_parent"
   android:layout_height="wrap_content" 
   android:maxLength="10">
</EditText>

并且用户键入了嗨,在我的下一个Activity中,如果用户输入Hi显示在下一个Activity Hello中,我该怎么做?等等,如果用户输入你下一个活动怎么显示我很好?

我用什么?它与数据库有关吗?

3 个答案:

答案 0 :(得分:3)

首先,选取当前活动中的文本,即视图托管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);

答案 1 :(得分:1)

最简单的方法是使用Intent的{​​{1}}和getExtra()方法,进行简单的putExtra()比较并返回结果。

以下是让您入门的内容:How do I get extra data from intent on Android?How do I compare strings in Java?

但是根据您所写的内容,您似乎正在尝试制作一个聊天应用程序,其中您的应用程序会响应用户输入的消息。为此,我建议您使用AIML。这是一个漫长的远景,但值得。

答案 2 :(得分:1)

我们假设您的班级名称是:Main

首先声明一个静态公共字符串:

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);