我正在使用startActivityForResult,但我没有数据,为什么?用这个代码我在午餐活动
conto = (Button) findViewById(R.id.btn_new_conto);
conto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent=new Intent(Mov.this,onto.class);
startActivityForResult(intent, 2);
并使用此代码传递值:
lista.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Dettaglio d = dettagli.get(position);
Intent intent=new Intent();
intent.putExtra("conto", d.conto);
setResult(2,intent);
finish();
使用此代码我得到值:
protected void onActivityResult1(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==2){
if(null!=data) {
conto.setText(data.getStringExtra("conto"));
答案 0 :(得分:0)
ActivityForResult是异步调用。
您应该从初始活动中覆盖onActivityResult()
,在那里您将获得第二个活动的结果。
在第二个活动中,您应该调用setResult()
方法,继续finish()
答案 1 :(得分:-1)
在已启动的活动中,您只需致电setResult(int)
,然后finish()
。在调用活动中,您可以在onActivityResult(int, int, Intent)