通过Intent传递数据

一、向下一个活动传递数据

Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(Main2Activity.this,Main23Activity.class);
        intent.putExtra("name","chicai");//向intent添加参数,key,value形式
        startActivity(intent);
    }
});
public class Main23Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main23);
        Intent intent = getIntent();
        TextView text = (TextView) findViewById(R.id.textView);
        text.setText(intent.getStringExtra("name"));
    }
}



二、向上一个活动传递数据

Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(Main2Activity.this,Main23Activity.class);
        intent.putExtra("name","chicai");
        startActivityForResult(intent,1);//意思了开启一个活动用来获取结果的,1是用来辨识不同的这种Activity
    }
});
//用这个活动设置返回结果,然后结束就会传递到上一个活动了
public class Main23Activity extends AppCompatActivity {
    @Override
    protected void onStart() {
        super.onStart();
        Button button = (Button)findViewById(R.id.button7);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.putExtra("return_val","memeda");
                setResult(RESULT_OK,intent);//设置结果
                finish();
            }
        });
    }
}
//返回上一个活动,通过onActivityResult接收
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch(requestCode)
    {
        case 1:
            if(resultCode == RESULT_OK)
            {
                String str = data.getStringExtra("return_val");
                TextView text = (TextView) findViewById(R.id.textView2);
                text.setText(str);
            }
            break;

    }
}

首页 我的博客
粤ICP备17103704号