【问题标题】:How do I throw data in two activities and make that data in one activity如何将数据放入两个活动中并将该数据放入一个活动中
【发布时间】:2016-08-18 02:19:43
【问题描述】:

我有一个场景,当用户在一个活动中输入,当用户点击按钮时会显示在其他活动中输入的数据,当用户点击按钮时会显示所有输入的数据

在一项活动中

    @Override
public void onClick(View v) {
    if (v.getId() == R.id.btnMoveToKereta2) {
        goToForm(TransferKereta2.class);
    }
}

private void goToForm(Class<TransferKereta2> transferKereta2Class) {
    Intent intent = new Intent(getBaseContext(), TransferKereta2.class);
    intent.putExtra(Constants.FullName, inpFullName.getText().toString());
    intent.putExtra(Constants.NickName, inpNickName.getText().toString());
    intent.putExtra(Constants.Age, inpAge.getText().toString());
    startActivity(intent);
}

如果用户点击goToForm 将转到TransferKereta2.class

@Override
public void onClick(View v) {
    if (v.getId() == R.id.btnMove) {
        goToTransfer(DetailKereta.class);
    }
}

private void goToTransfer(Class<DetailKereta> DetailKeretaClass) {
    Intent intent = new Intent(getBaseContext(), DetailKereta.class);
    intent.putExtra(Constants.Jumlah, inpJumlah.getText().toString());
    intent.putExtra(Constants.Dari, inpAsal.getText().toString());
    intent.putExtra(Constants.Ke, inpTujuan.getText().toString());
    startActivity(intent);
}

如果用户点击goToTransfer,所有数据将显示在DetailKereta.class

DetailKereta.class

        TextView tv_name = (TextView)findViewById(R.id.tv_fullName);
    TextView tv_nname = (TextView)findViewById(R.id.tv_nickName);
    TextView tv_umur = (TextView)findViewById(R.id.tv_umur);
    TextView tv_jumlah = (TextView)findViewById(R.id.tv_jumlah);
    TextView tv_asal = (TextView)findViewById(R.id.tv_asal);
    TextView tv_tujuan = (TextView)findViewById(R.id.tv_tujuan);

    Intent intent = getIntent();

    tv_name.setText(intent.getStringExtra(Constants.FullName));
    tv_nname.setText(intent.getStringExtra(Constants.NickName));
    tv_umur.setText(intent.getStringExtra(Constants.Age));
    tv_jumlah.setText(intent.getStringExtra(Constants.Jumlah));
    tv_asal.setText(intent.getStringExtra(Constants.Dari));
    tv_tujuan.setText(intent.getStringExtra(Constants.Ke));

我使用常量来保存来自 2 个输入活动的数据

【问题讨论】:

    标签: android android-intent android-button


    【解决方案1】:

    您需要将额外内容从活动传播到活动。

    添加

    intent.putExtras(this.getIntent());
    

    到每个启动新意图的方法,以便您还可以发送当前活动创建时使用的意图。

    【讨论】:

      【解决方案2】:

      这是由onActivityResult(int requestCode, int resultCode, Intent data)完成的 它将数据从第二个活动回滚到调用活动。 见link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-12
        • 2019-06-14
        • 2021-08-12
        相关资源
        最近更新 更多