日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

android?studio組件通信:Intend啟動Activity接收返回結果_Android

作者:wow_awsl_qwq ? 更新時間: 2022-03-08 編程語言

實驗目的:

熟悉和掌握Android組件間通信的方式和技巧。

實驗要求:

1.運行課本的示例程序,理解組件通信的方式和過程
2.設計一個主Activity和一個子Activity(Sub-Activity),使用主Activity上的按鈕啟動子Activity,并將子Activity的一些信息返回給主Activity,并顯示在主Activity上。

可以自己設計界面和場景,也可以使用下面提供的內容:

主Activity界面上有一個“登錄”按鈕和一個用了顯示信息的TextView,點擊“登錄”按鈕后打開一個新的Activity,新Activity上面有輸入用戶名的控件,在用戶關閉這個Activity后,將用戶輸入的用戶名到主Activity,并顯示在主Activity的TextView中。

實驗結果:

實驗代碼:

MainActivity.java

package com.example.shiyan4;

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

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    int Subact1=1;
    TextView textView;
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==Subact1)
        {
            //String str= data.getStringExtra("userstr");

            textView.setText("用戶名:"+data.getCharSequenceExtra("userstr"));
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.button);
        textView=findViewById(R.id.textview);
        button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this,Subactivity.class);//顯式啟動方式
                //Intent intent1=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
                Intent intent2=new Intent("sub1");//隱式啟動方式
                startActivityForResult(intent2,Subact1);
            }
        });


    }
}

SubActivity.java

package com.example.shiyan4;

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

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

public class Subactivity extends AppCompatActivity {


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sub_layout);
        Button button=(Button) findViewById(R.id.button2);
        EditText editText=(EditText)findViewById(R.id.editview);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(Subactivity.this,MainActivity.class);
                intent.putExtra("userstr",editText.getText());
                setResult(RESULT_OK,intent);
                finish();
            }
        });

    }
}

原文鏈接:https://blog.csdn.net/qq_42641977/article/details/121103769

欄目分類
最近更新