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;
    }
}

解决方案 »

  1.   

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

    editText2_value2 = editText2.getText().toString();
    替换为: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();