传值有关问题,求高手解释

传值问题,求高手解释
package com.example.my03activity;

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

public class My03MainActivity extends Activity {
private EditText editText1 ;
private EditText editText2 ;
private TextView textView1 ;
private Button button1 ;
private String editText1_value1;
private String editText2_value2;
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my03_main);
  editText1 = (EditText) findViewById(R.id.editText1);
  editText2 = (EditText) findViewById(R.id.editText2);
  textView1 = (TextView) findViewById(R.id.textView1);
  button1 = (Button)findViewById(R.id.button1);
 /*editText1_value1 = editText1.getText().toString();
editText2_value2 = editText2.getText().toString();在这里赋值就不能实现传值,求高手解释哈*/  
  button1.setOnClickListener(new OnClickListener(){

public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
 editText1_value1 = editText1.getText().toString();
editText2_value2 = editText2.getText().toString();  
intent.putExtra("yi", editText1_value1);
intent.putExtra("er", editText2_value2);
intent.setClass(My03MainActivity.this, OtherActivity.class);
startActivity(intent);
}
 
  });
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_my03_main, menu);
  return true;
  }
}


------解决方案--------------------
组件在刚初始时,无法获得组件的参数,包括组件的值,解决办法,通过延时处理

editText2_value2 = editText2.getText().toString();
替换为:
Java code

new Thread()
     {
        @Override
          public void run()
          {
         synchronized(this)
         {
          try
          {
           wait(1000); //1秒
          }
          catch (InterruptedException e)
          {
           // TODO Auto-generated catch block
           e.printStackTrace();
          }
         }
editText2_value2 = editText2.getText().toString();
          }
     }.start();