Android startActivityForResult
我正在使用startActivityForResult,但我没有数据,为什么?有了这个代码,我就完成了这个活动Android startActivityForResult,android,listview,Android,Listview,我正在使用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,o
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"));
在已启动的活动中,只需调用
setResult(int)
,然后调用finish()
。在调用活动中,您可以在activityresult(int,int,Intent)
请在“ActivityForResult是异步调用”中阅读更多关于此的信息。 您应该重写初始活动中的onActivityResult(),在那里您将得到第二个活动的结果
在第二个活动中,您应该调用
setResult()
方法,继续执行finish()
“…但是我没有数据,…”您可以再解释一下吗?您没有将代码发布到接收值的位置……为了澄清:显示您的onActivityResult()方法。如果你没有,写一个。@vortex不,你错了。第一个参数是int值onActivityResult1是拼写错误的名称吗?它的名称上不应该有数字1为什么是异步的?还有,异步意味着什么?