我使用intent获取null值因为我无法进一步编码。在这里,我将数据从一个意图发送到下一个但在这里不起作用。我得到空值但我发送特定值,即temp_id
firstActivity.java
def setUp(self):
self.browser = webdriver.Firefox()
browser=self.browser
browser.get("http://google.com")
下一个活动
public void onItemClick(AdapterView<?> parent, View v,
int position, long id)
{
super.onItemClick(parent, v, position, id);
final Cursor c = (Cursor) mAdapter.getItem(position);
String name = c.getString(c.getColumnIndex( Constants.GREETING_NAME ));
final int template_id = c.getInt(c.getColumnIndex( Constants.KEY_ID_GREET ));
String temp_id=String.valueOf(template_id);
goForEdit(temp_id);
//confirm
Toast.makeText(this,
"Name :"+name+" id : " + temp_id , Toast.LENGTH_LONG)
.show();
}
public void goForEdit(String temp_id){
Intent launchSMSTempEdit = new Intent(
ManageEmailTemplate.this,
EmailTempEdit.class);
if(!(temp_id==null))
{
launchSMSTempEdit.putExtra("temp_id",temp_id);
startActivity(launchSMSTempEdit);
}
}
Log cat:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_template);
sms_key_id = getIntent().getStringExtra("called");
if(sms_key_id == null) {
sms_key_id = "empty string";
}
if (sms_key_id.equalsIgnoreCase("add")) {
//do whatever
} else {
//do whatever
sms_key_id="1";
System.out.println("KEY ID==="+sms_key_id);
}
Toast.makeText(this, "CODE:::"+ mTemplateType + " id =="+ sms_key_id , Toast.LENGTH_LONG).show();
答案 0 :(得分:3)
您在第一项活动中输入了密钥temp_id
的ID并尝试使用called
阅读,这就是您在下一次活动中未收到该密码的原因。我下一次活动将sms_key_id = getIntent().getStringExtra("called");
更改为sms_key_id = getIntent().getStringExtra("temp_id");
答案 1 :(得分:0)
替换
if (sms_key_id.equalsIgnoreCase("add"))
与
if (sms_key_id!=null && sms_key_id.equalsIgnoreCase("add"))
答案 2 :(得分:0)
首先 - 您使用一个键 temp_id 发送意图,并使用另一个键
从中取出值第二 - 从您的日志中,查找由引起的,它将告诉您RuntimeException的原因以及有问题的代码的行号。在您的情况下,它是 EmailTempEdit.java:145
答案 3 :(得分:0)
问题出在哪里。我是正确的,在第145行是的,有一个问题。实际上我没有为此代码采取意图(mTemplateType=getIntent().getStringExtra("template_type")
)。
if(mTemplateType.equals("email")){
message = subject + subjectMessageDelimiter + message; //|~| is the delimiter
messageTypeCode = Constants.EMAIL_CODE;
} else if(mTemplateType.equals("sms")){
messageTypeCode = Constants.SMS_CODE;
}