如何检查另一个活动中是否按下按钮?

时间:2018-05-03 14:30:14

标签: android

在我的第一个Activity中,您可以打开一个弹出窗口(这是另一个活动),您可以在其中放入一些数据,并且需要将其发送回原始活动。由于我需要将我收到的数据放入ListView,我想我需要检查按钮是否是预先发布的,并在onClick中添加到ListView。怎么做?

这是弹出活动的代码:

public class AddCoin extends Activity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        final Intent intentAdd = new Intent(this, PortfolioActivity.class);
        super.onCreate(savedInstanceState);

        setContentView(R.layout.add_coin_window);

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);

        int width = dm.widthPixels;
        int height = dm.heightPixels;

        getWindow().setLayout((int)(width*.8), (int)(height*0.4));

        Button add_coin = findViewById(R.id.add_toport_button);
        add_coin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText inputNameText = (EditText) findViewById(R.id.text_input_name);
                EditText inputPriceText = (EditText) findViewById(R.id.text_input_price);
                EditText inputAmmountText = (EditText) findViewById(R.id.text_input_ammount);

                String inputName = inputNameText.getText().toString();
                String inputPrice = inputPriceText.getText().toString();
                String inputAmmount = inputAmmountText.getText().toString();

                intentAdd.putExtra("Name", inputName);
                intentAdd.putExtra("Price", inputPrice);
                intentAdd.putExtra("Ammount", inputAmmount);

                finish();
            }
        });
    }
}

3 个答案:

答案 0 :(得分:1)

正确的方法是使用startActivityForResult()调用活动。

但如果你不能这样做,你可以使用EventBus

答案 1 :(得分:0)

您可以使用startActivityForResult()类的Activity方法实现此性质。

请参阅此链接startActivityForResult

答案 2 :(得分:0)

您必须使用startActivityForResult(),将数据放入被调用活动的Intent中,然后使用调用活动上的onActivityResult(int requestCode, int resultCode, Intent data)获取结果