Android 页面传值

来源:互联网 发布:移动网络宽带投诉电话 编辑:程序博客网 时间:2024/06/05 18:10

一、利用 Intent 传值

1.向下一个活动传值

在activity 1中:

        Button button1 = (Button)findViewById(R.id.button_1);        button1.setOnClickListener(new View.OnClickListener(){            @Override                    public void onClick(View v){                            String data = "Hello Activity 2";                            Intent intent = new Intent(FirstActivity.this, SecondActivity.class);                            intent.putExtra("extra_data", data);                            startActivity(intent);            }        });

在activity 2中:

        Intent intent = getIntent();        String data = intent.getStringExtra("extra_data");        Log.d("SecondActivity", data);

2.返回数据给上一个活动

在activity 1中:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);                            startActivityForResult(intent,1);
并且要重写方法:

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode){            case 1:                if(resultCode == RESULT_OK){                    String returnedData = data.getStringExtra("data_return");                    Log.d("FirstActivity", returnedData);                }                break;            default:        }    }


在activity 2中:

Button button2 = (Button)findViewById(R.id.button_2);        button2.setOnClickListener(new View.OnClickListener(){            @Override                public void onClick(View v){                    Intent intent = new Intent();                    intent.putExtra("data_return", "Hello FirstActivity");                    setResult(RESULT_OK, intent);                    finish();            }        });