0

我有一个editText,如何获取用户输入的文本?

例如,这是我的editText

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

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

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

4

3 回答 3

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);
于 2012-08-19T06:44:34.493 回答
1

最简单的方法是使用Intent'sgetExtra()putExtra()方法,进行简单String比较并返回结果。

这里有一些可以帮助您入门的内容:如何从 Android 上的意图中获取额外数据?以及如何比较 Java 中的字符串?.

但是从您所写的内容来看,您似乎正在尝试制作一个聊天应用程序,其中您的应用程序响应用户输入的消息。为此,我建议您使用AIML。这是一个很长的镜头,但值得。

于 2012-08-19T06:46:40.543 回答
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);
于 2012-08-19T08:11:03.713 回答