Android开发作业【页面之间互相传参】

Android开发作业【页面之间互相传参】_第1张图片
Android开发作业【页面之间互相传参】_第2张图片
Android开发作业【页面之间互相传参】_第3张图片
Android开发作业【页面之间互相传参】_第4张图片

package com.example.study01;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivityImplicit extends AppCompatActivity {
    EditText et_msg;
    TextView tv_bottom;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_implicit);
        et_msg = findViewById(R.id.et_msg);
        tv_bottom = findViewById(R.id.tv_bottom);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(data!=null){
            String username = data.getStringExtra("username");
            String password = data.getStringExtra("password");
            String sessionId = data.getStringExtra("sessionId");
            tv_bottom.setText("username: " + username +" password: " + password +" sessionId: " + sessionId );
        }
    }

    public void Search(View view) {
        Intent intent = new Intent();
        intent.setClass(getApplicationContext(),MainActivityLogin.class);
        intent.putExtra("msg",et_msg.getText().toString());
        startActivityForResult(intent,1);
        //startActivity(intent);
    }
}
package com.example.study01;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Instrumentation;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivityLogin extends AppCompatActivity {
    TextView tv_msg;
    EditText username;
    EditText password;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_login);
//        et_msg = findViewById(R.id.et_msg);
        tv_msg = findViewById(R.id.tv_Login1);
        Intent intent = getIntent();
        tv_msg.setText("搜索内容:" + intent.getStringExtra("msg"));
        username = findViewById(R.id.username);
        password = findViewById(R.id.password);
    }

    public void Login(View view) {
        Intent intent = new Intent();
        intent.putExtra("username",username.getText().toString());
        intent.putExtra("password",password.getText().toString());
        intent.putExtra("sessionId","sad1sd4245dsf42as");
        setResult(1,intent);
        finish();
    }
}

<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivityImplicit">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/et_msg"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="搜索"
        android:textSize="30sp"
        android:onClick="Search"/>
    <TextView
        android:id="@+id/tv_bottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="等待参数回传"/>

LinearLayout>

<LinearLayout 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=".MainActivityLogin"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tv_Login1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello"
        android:textSize="17sp"/>
    <TextView
        android:id="@+id/tv_Login2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="用户未登录...."/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名:"/>
        <EditText
            android:id="@+id/username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密    码:"/>
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    LinearLayout>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录"
        android:onClick="Login">
    Button>
LinearLayout>

作业总结:
startActivity( ) 与startActivityForResult( )的区别
一、startActivity( ) 与startActivityForResult( )的区别
1、startActivity( )
startActivity( ) 仅仅是启动另一个Activity,他不会自定回转到原来的Activity,若是想跳回原来的页面,则必须再使用一次startActivity( )来启动原来的Activity。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从FirstActivity跳转到SecondActivity,当这个SecondActivity执行完finish()方法后,程序会自动回调FirstActivity的onActivityResult(int requestCode, int resultCode, Intent intent)方法。
所以重写该方法即可调用intent,显示参数

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(data!=null){
            String username = data.getStringExtra("username");
            String password = data.getStringExtra("password");
            String sessionId = data.getStringExtra("sessionId");
            tv_bottom.setText("username: " + username +" password: " + password +" sessionId: " + sessionId );
        }
    }

你可能感兴趣的:(Android开发,android,android,studio,java)