Android studio 输入的数据在页面间传输
很多时候我们希望我们在edittext里输入的数据在登录成功后,会显示在新的页面上
比如输入了车牌号码成功登录后新的欢迎界面就会出现xxxx车主您好!那这里的车牌号码就是可变的,随着用户输入的不同而不同
首先两个XML的布局文件,两个activity
【1】输入数据的界面:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.administrator.test.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="phone" android:text="车牌号码" android:textColor="#F87461" android:textSize="25sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.126" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.283" /> <EditText android:id="@+id/edit_car" android:layout_width="222dp" android:layout_height="51dp" android:hint="请输入车牌号码" android:inputType="text" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.901" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.271" /> <Button android:id="@+id/button_send" android:layout_width="143dp" android:layout_height="48dp" android:text="send" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.41" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.457" /> </android.support.constraint.ConstraintLayout>
【2】输入数据的activity:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText edit_car; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getId(); } private void getId(){ edit_car=findViewById(R.id.edit_car); Button button_send = findViewById(R.id.button_send); button_send.setOnClickListener(this); } public void onClick(View view){ switch (view.getId()){ case R.id.button_send: Intent intent=new Intent(MainActivity.this,NewActivity.class); String car=edit_car.getText().toString().trim(); intent.putExtra("data",car+"车主您好"); startActivity(intent); } } }
重要的语句在这里Intent intent=new Intent(MainActivity.this,NewActivity.class);同意数据在这两个活动里传输
intent.putExtra("data",car+"车主您好");把数据放进去,然后start
注意如果想在输入数据前后加上自定义的字符,需要将他设置在输入数据的activity里,不是显示的activity里哦
【3】要显示数据的页面:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <TextView android:layout_width="138dp" android:layout_height="50dp" android:gravity="center" android:text="look" android:textColor="#4A90E2" android:textSize="30sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.143" /> <ImageView android:layout_width="54dp" android:layout_height="45dp" android:background="@drawable/look" android:gravity="center" android:textColor="#4A90E2" android:textSize="30sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.248" /> <TextView android:id="@+id/tv" android:layout_width="348dp" android:layout_height="73dp" android:gravity="center" android:textColor="#4A90E2" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.367" /> </android.support.constraint.ConstraintLayout>
【4】显示界面的activity:
public class NewActivity extends AppCompatActivity { @Override public void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new); Intent intent=getIntent(); TextView tv=findViewById(R.id.tv); tv.setText(intent.getStringExtra("data")); } }
在活动里Intent intent=getIntent();获取数据,TextView tv=findViewById(R.id.tv);你要显示的位置
tv.setText(intent.getStringExtra("data")); 打印出来
【5】结果
初始界面:
输入车牌号(瞎编的)
点击send按钮后:
噔噔噔噔~~大功告成!