Intent意图使用——实现EditText输入框数据的传递
主要内容:编写一个登陆界面,有两个EditText控件(可以输入账号和密码)和1个按钮控件,点击按钮控件,可以实现将文本输入框输入的数据传递到界面2,并在界面2用TextView显示传递过来的数据。
步骤1:先在界面1的布局资源文件中加载两个EditText控件和一个按钮控件。
<EditText
android:id="@+id/et1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:hint="请输入姓名:"
android:textSize="20sp"
android:textStyle="italic"/>
<EditText
android:id="@+id/et2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="请输入密码:"
android:textSize="20sp"
android:textStyle="italic" />
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录"
tools:layout_editor_absoluteX="55dp"
tools:layout_editor_absoluteY="240dp" />
步骤2:在界面1获取输入的姓名和密码,并将获得的姓名和密码通过intent的putExtra方法传递到界面2。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button bt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1 = (Button)findViewById(R.id.bt1);
bt1.setOnClickListener(this);
}
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Activity2.class);
EditText editText1 = (EditText)findViewById(R.id.et1);
EditText editText2 = (EditText)findViewById(R.id.et2);
//获取输入的姓名和密码
String account = editText1.getText().toString();
String password = editText2.getText().toString();
//将获得的姓名和密码通过intent的putExtra方法传递到界面2
intent.putExtra("Name",account);
intent.putExtra("Password",password);
startActivity(intent);
}
}
步骤3:在界面2的布局资源文件中调用一个TextView接收显示所传递的数据。
//调用一个TextView接收显示所传递的数据
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
步骤4:在界面2调用getXXXExtra()方法来获取传递的数据,并将该数据在TextView中显示。
public class Activity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_3);
//用getXXXExtra()方法来获取传递过来的数据
Intent intent = getIntent();
String account = intent.getStringExtra("Name");
String password = intent.getStringExtra("Password");
//将获取到的数据在TextView中显示
TextView textView = (TextView)findViewById(R.id.tv);
textView.setText("账号为:"+account+"密码为:"+password);
}
}
运行结果: