在我的第一个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();
}
});
}
}
答案 0 :(得分:1)
正确的方法是使用startActivityForResult()
调用活动。
但如果你不能这样做,你可以使用EventBus
答案 1 :(得分:0)
您可以使用startActivityForResult()
类的Activity
方法实现此性质。
请参阅此链接startActivityForResult
答案 2 :(得分:0)
您必须使用startActivityForResult()
,将数据放入被调用活动的Intent中,然后使用调用活动上的onActivityResult(int requestCode, int resultCode, Intent data)
获取结果