如何将文本视图数据从第一个活动发送到第三个活动 [英] How to send Text View data from 1st activity to 3rd activity

查看:45
本文介绍了如何将文本视图数据从第一个活动发送到第三个活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个项目,其中有3个活动.每个活动都有其自己的按钮,单击该按钮即可开始下一个活动.第一个活动有一个显示随机字符串的文本视图.当我在第一个活动中按下按钮时,第二个活动将开始.当我在第二活动中按下按钮时,第三活动开始.但是我想知道如何将随机字符串从第一活动发送到第三活动.

I'm developing a project where I have 3 activities. Each activity has got it's own button which when clicked starts the next activity. 1st activity has got a Text View which displays Random String. When I press the button in 1st activity, 2nd activity will start. When i press the button in 2nd activity, 3rd activity is started. But I want to know how to send the random string from 1st activity to 3rd activity.

第一个活动:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Random;

public class SelectRandomNumber extends AppCompatActivity {


    private Button generateStringBtn;
    private TextView randomOne;
    private TextView randomTwo;
    private TextView randomThree;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_select_random_number);

        generateStringBtn = (Button) findViewById(R.id.generateRandomBtn);
        randomOne = (TextView) findViewById(R.id.randomStringOne);
        randomTwo = (TextView) findViewById(R.id.randomStringTwo);
        randomThree = (TextView) findViewById(R.id.randomStringThree);

        generateStringBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                randomOne.setText(randomString(173));
                randomTwo.setText(randomString(173));
                randomThree.setText(randomString(173));

            }
        });

        randomOne.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                sendID_one();
            }
        });



    }

    public String randomString(int length){
        char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        Random random = new Random();
        for(int i = 0; i < length; i++){
            char c = chars[random.nextInt(chars.length)];
            stringBuilder.append(c);
        }
        return stringBuilder.toString();
    }

    public void sendID_one(){
        String message = randomOne.getText().toString();
        Intent check = new Intent(SelectRandomNumber.this, CheckCandidateID.class);
        check.putExtra("Extra_Message",message);
        startActivity(check);

    }
    public void sendID_Two(){
        String message = randomTwo.getText().toString();
        Intent check = new Intent(SelectRandomNumber.this, CheckCandidateID.class);
        check.putExtra("Extra_Message",message);
        startActivity(check);

    }
    public void sendID_Three(){
        String message = randomThree.getText().toString();
        Intent check = new Intent(SelectRandomNumber.this, CheckCandidateID.class);
        check.putExtra("Extra_Message",message);
        startActivity(check);
    }

    public void send(){
        Intent check = new Intent(SelectRandomNumber.this, Try.class);  //for sending data to third activity
        check.putExtra("Extra_Message_Send",randomOne.getText().toString());
        startActivity(check);
    }

}

第三项活动:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class Try extends AppCompatActivity {

    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_try);

        tv = (TextView) findViewById(R.id.test);

        String s = getIntent().getStringExtra("Extra_Message_Send");
        tv.setText(s);



    }
}

推荐答案

如果要从第二活动开始第三活动,则必须先在第二活动中发送字符串,然后在第三活动中发送字符串.最好在第二个和第三个活动中发送所有三个字符串,这样您就可以来回往复:

If you want to start 3rd activity from 2nd activity, you have to send your string in 2nd activity then 3rd activity. Better send all three string in 2nd and 3rd activity, so you can come back and forth:

String message1 = randomOne.getText().toString();
String message2 = randomTwo.getText().toString();
String message3 = randomThree.getText().toString();

check.putExtra("Extra_Message1",message1);
check.putExtra("Extra_Message2",message2);
check.putExtra("Extra_Message3",message3);

然后,您还必须将这些数据从第二活动传递到第三活动.

Then you have to pass these data from 2nd to 3rd activity also.

这篇关于如何将文本视图数据从第一个活动发送到第三个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆