大神前身-小白
2015-09-01 15:25Android Intent 如何接收到指定的Intent传递过来的值呢?
写了2个Activity,A、B,2个Activity之间可以相互跳转。
1、A中有一个发送按钮可实现传值到B中,同时还有一个独立的跳转按钮。
2、在B中有接收A传值过来的的代码
3、执行中,如果直接执行了跳转按钮,B的接收Intent代码中,就会出现空指针异常,目前通过 try{}catch临时确保能正常运行。
想请问:能否有方法可以让B接收传值的代码能够识别那个Intent才是传值过来的,避免空指针异常出现。
A传值代码如下:
/*
* 1、获取到界面中输入的信息
* 2、将获取到的值,传递到ReceiveActivity中。
* */
Button _OkSend = (Button)findViewById(R.id.buttonOkSend);
_OkSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText1 = (EditText)findViewById(R.id.editText);
name=editText1.getText().toString();
Log.i("YuryLog","SendActivity name: "+name);
EditText editText2 = (EditText)findViewById(R.id.editText2);
eatSomething = editText2.getText().toString();
Log.i("YuryLog","SendActivity eatSomething: "+eatSomething);
EditText editText3 = (EditText)findViewById(R.id.editText3);
copies = editText3.getText().toString();
Log.i("YuryLog","SendActivity copies: "+copies);
// 将值传递到ReceiveActivity中
Intent _intent = new Intent(SendActivity.this, ReceiveActivity.class) ;
_intent.putExtra("sendName",name);
_intent.putExtra("sendeatSomething",eatSomething);
_intent.putExtra("sendcopies",copies);
startActivity(_intent);
}
});
B接收代码如下:
// 接收SendActivity中传递过来的值;
// 需要确定,只有SendActivity中传递过来的值才能触发,否则第一次执行的时候会出现空指针异常;
try {
Intent _getIntent = this.getIntent();
if( _getIntent.getExtras().getString("sendName") != null){
Log.i("YuryLog","理论上只有点了确认键才执行");
receiveName = _getIntent.getExtras().getString("sendName");
receiveEatSomething = _getIntent.getExtras().getString("sendeatSomething");
receiveCopies = _getIntent.getExtras().getString("sendcopies");
Log.i("YuryLog",receiveName + receiveEatSomething + receiveCopies);
// 在界面中显示接收到的值
// 获取到TextView的id,再动态的更改它的值
TextView _textView =(TextView) findViewById(R.id.textView4);
TextView _textView2 =(TextView) findViewById(R.id.textView5);
_textView.setText(receiveName+": ");
_textView2.setText("来" + receiveCopies + "份" + receiveEatSomething);
}
}catch (Exception e){
e.printStackTrace();
}
万分感谢各位能提供一个思路,谢谢。
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- 在android中将查询数据从一个活动传递到另一个活动
- android
- backgroundworker
- php
- 2个回答
- 如何在 Android 上将对象从一个活动传递到另一个活动
- android
- java
- object
- 30个回答
- 传递过来的Intent是空的,怎么回事
- android-studio
- android
- 2个回答
- android intent传递对象是传递地址还是新的对象
- android
- 对象
- intent
- 1个回答
- 为什么按另一个按钮,程序就崩溃了?
- 传递对象
- android
- 编程
- intent
- 软件开发
- 7个回答