首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-09-09 
传值问题,求高手解释package com.example.my03activityimport android.app.Activityimport android.cont

传值问题,求高手解释
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(); 

热点排行