ailvlv 2017-03-06 02:53 采纳率: 0%
浏览 694

学习putExrta值传递遇到的问题

MainActivity.java
public class MainActivity extends Activity {

/*声明控件对象*/
private EditText editText1,editText2;
private Button button1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
       /*取得控件对象*/
    editText1=(EditText) findViewById(R.id.editText1);
    editText2=(EditText) findViewById(R.id.editText2);
    button1=(Button) findViewById(R.id.button1);

    /*为按钮绑定监听器*/
    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            int a = Integer.parseInt(editText1.getText().toString());
            int b = Integer.parseInt(editText2.getText().toString());
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            intent.putExtra("editText1", a);
            intent.putExtra("editText2",b);

/* 取得输入框中的内容
String str1=editText1.getText().toString();
String str2=editText2.getText().toString();
//创建Intent对象,参数分别为上下文,要跳转的Activity类
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
//将要传递的值附加到Intent对象
intent.putExtra("editText1",str1);
intent.putExtra("editText2", str2);*/

     //启动该Intent对象,实现跳转
            startActivity(intent);


        }
    });                                                                                                                                                                                                                                                  

}

}

SecondActivity.java

public class SecondActivity extends Activity {
// 声明TextView对象
private TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.sencond);
    // 取得TextView对象
    tv = (TextView) findViewById(R.id.tv);
    // 取得启动该Activity的Intent对象
    Intent intent = getIntent();
    int a = intent.getIntExtra("editText1", 0);
    int b = intent.getIntExtra("editText2", 0);
    int result=a+b;
    tv.setText(a+" + "+b+" = "+result);

/* // 取出Intent中附加的数据
String str1 = intent.getStringExtra("testEdit1");
String str2 = intent.getStringExtra("testEdit2");

    // 计算得到结果
    int result = Integer.parseInt(str1) + Integer.parseInt(str2);

    // 设置TextView显示的文本
    tv.setText("计算结果为:" + String.valueOf(result));*/

}

}
在学习putExrta值传递时候,想把第一个Activity输入的数字传递到第二个,之前用注释语句的方法实现(把字符串传递过去后转换int),但是传过去的是空值,后面把输入的值先强制转换为int,再传递过去就正常,这是什么原因,请大神指导!

  • 写回答

2条回答 默认 最新

  • ziyejinwei1994 2017-03-06 03:20
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘