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

}

重要的语句在这里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按钮后:

噔噔噔噔~~大功告成!

  • 27
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Android Studio中,可以使用Intent来实现页面数据传输。具体步骤如下: 1. 在页面1中,创建一个Intent对象,并使用putExtra()方法将要传输数据添加到Intent中。例如: ```java Intent intent = new Intent(Page1.this, Page2.class); intent.putExtra("key", value); startActivityForResult(intent, requestCode); ``` 其中,"key"是传输数据的键,value是要传输数据。 2. 在页面2中,使用getIntent()方法获取传输过来的Intent对象,并使用getStringExtra()等方法获取传输数据。例如: ```java Intent intent = getIntent(); String data = intent.getStringExtra("key"); ``` 其中,"key"是之前传输数据时使用的键。 3. 如果页面2需要返回数据页面1,可以在页面2中使用setResult()方法设置返回的数据,并在页面2的finish()方法中调用。例如: ```java Intent intent = new Intent(); intent.putExtra("result", resultData); setResult(RESULT_OK, intent); finish(); ``` 其中,"result"是返回数据的键,resultData是要返回的数据。 4. 在页面1中,重写onActivityResult()方法来接收从页面2返回的数据。例如: ```java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == requestCode && resultCode == RESULT_OK) { String result = data.getStringExtra("result"); // 处理返回的数据 } } ``` 这样,就可以在Android Studio中实现页面数据传输了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值