我是新手,刚开始学习,Android,然后遇到了一个小问题,希望高手指教我就想实现类似于计算器的功能,在两个EditText 中输入两个值,然后点击按钮,就在另一个Activity中显示结构。然后我获取两个EditText的值,但是老获得是空值,请高手指点一下呗!我是新手,所以这个问题可能对你们很简单,但是我一直没解决开,所以比较着急啊! 下面就是那块获取EditText 值的部分代码:public class Activity01 extends Activity {
    /** Called when the activity is first created. */
    private EditText factorone;
    private EditText factortwo;
    private TextView symbol;
    private Button calculate;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        factorone = (EditText)findViewById(R.id.factorone);
        factortwo = (EditText)findViewById(R.id.factortwo);
        symbol = (TextView)findViewById(R.id.symbol);
        calculate = (Button)findViewById(R.id.calculate);
        symbol.setText(R.string.symbol);
        calculate.setText(R.string.calculate);
        calculate.setOnClickListener(new Calculate());
        
    }

class Calculate implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

String factoronestr = factorone.getText().toString();
String factortwostr = factortwo.getText().toString();

Intent intent = new Intent();
intent.putExtra("one", factoronestr);
intent.putExtra("two", factortwostr);

intent.setClass(Activity01.this, Other.class);
Activity01.this.startActivity(intent);
}
}
}就是factoronestr 和 factortwostr 这两个值,一直获取的是Null

解决方案 »

  1.   

    嘿嘿  我们看得是同一个视频。我这两天也是看到这一集了。
    我的问题是出在
      symbol.setText(R.string.symbol);
      calculate.setText(R.string.calculate);你这段没问题
    你在Other中用Intent获取factorOne和factorTwo的值没嘛?(我也新手说错了勿怪哈,共同学习)
      

  2.   

    取值:
    String value1=this.getIntent().getCharSequenceExtra("one").toString();
    String value2=this.getIntent().getCharSequenceExtra("two").toString();
      

  3.   


    当然引用了,但是一按Button就报错,然后后来我研究了很长时间,发现按完 Button后传递过去的是一个空值,然后你把空值转换成整型的数,所以崩溃,所以先要解决EditText获取的值是空的问题!
      

  4.   

    没有问题你在String factoronestr = factorone.getText().toString();
    String factortwostr = factortwo.getText().toString();
    之后 加一句System.out.println(factorone.getText());
    就会发现不是空的 
      

  5.   

    2楼 是正解
    也可以intent.getStringExtra("one");
      

  6.   


    我在第二个Activity中就是用 String factorone = intent.getStringExtra("one");
    String factortwo = intent.getStringExtra("two");然后将结果在一个TextView中显示出来,结果都是NullreasultTextView.setText(factorone + "  " + factortwo);
      

  7.   


    我都有想哭的冲动啊,哎,怎么回事啊!然后我刚刚也重新编了一个程序,就一个EditText 和一个Button,如果点击Button,然后在第二个Activity中显示 EditText的值,结果还是 空值,奇了个怪了啊!
      

  8.   

    最大的问题就是activity使用混乱,第一个里面的view在第二个里面操作就会出现问题
      

  9.   

    我遇到过跟你一样的错误,你是不是在Activity里面的 Intent 的 getIntent函数写的有问题啊,反正我的是因为写错了,所以一直有错,呵呵,希望能帮助你解决你的问题,嘿嘿!
      

  10.   

    你的代码根本就没有问题,问题肯定你在获取值的那个activity里面的代码
      

  11.   

    传递的值是什么类型 在下一个intent里获取的值 也应该是什么类型
      

  12.   

    哎,2楼五楼正解,这里显然是你取值的Activity有问题。
    你把取值的Activity贴出来就知道了。
      

  13.   

    能否把你们的视频给发一份,就是关于这个内容的邮箱:[email protected]谢谢