两个activity的数据返回


关于两个activity之间的数据交换,相信一个activity1跳转到另一个activity2的时候,并且加载一些数据,初学者都会的一些操作,可是如果对一个activity1跳转到activity2的进行某一些选择和设置之后,在需要返回一些数据到activity1的时候,有的时候,就觉得比较麻烦和繁琐,需要在activity1中写一些相关的取值和判断的。


今天学习了李刚疯狂讲义,上学习到了activity原来的有自带的返回的结果的方法可以重写并且实现,所有今天的就自己学习写一个Demo算是一个小列子,方便自己以后的深化记忆个使用。


好了,说了那么多,直接上代码和注释咯


首先,两个activity的布局文件就不写了,就是1个按钮而已。activity1的按钮用户跳转到activity2去。activity2的按钮用于返回信息到activity1去


主界面的activity1(各位需要忽略我自己的取得名字哈)

package com.ljz.activityback.test1;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class ActivityBackTest1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button = (Button)findViewById(R.id.btu1);
        button.setOnClickListener( new OnClickListener() 
        {
@Override
public void onClick(View v) 
{
Intent intent = new Intent(ActivityBackTest1Activity.this,Activity1.class);
//0代表请求妈的编号
startActivityForResult(intent, 0);
}
} );
    }

      //用户接受activity2返回的结果数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
if( requestCode == 0 &&  resultCode == 0 )
{
Toast.makeText(getApplicationContext(), ""+data.getExtras().getString("ljz"), Toast.LENGTH_SHORT).show();
}
}
}

这个是activity2的代码

package com.ljz.activityback.test1;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class Activity1 extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);

Button button = (Button)findViewById(R.id.btu2);
button.setOnClickListener( new OnClickListener() 
{
@Override
public void onClick(View v) 
{
//获得启动这个activity的intent
Intent intent = getIntent();
//写入数据
intent.putExtra("ljz", "daziyi");
//设置结果 
Activity1.this.setResult(0, intent);
//返回
Activity1.this.finish();
}
} );

}





}




你可能感兴趣的:(Class,import,button)