【发布时间】:2013-07-02 04:29:09
【问题描述】:
我从Activity 获取一些值,并在onActivityResult() 中获取这些值,调用onActivityResult(),但收到的数据是null
CODE 的MainActivity
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId() == R.id.action_settings){
Intent intent = new Intent(MainActivity.this, AddDetailActivity.class);
startActivityForResult(intent, request_code);
}
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == request_code){
if(resultCode == RESULT_OK){
String name = data.getExtras().getString(AddDetailActivity.NAME_KEY);
String address = data.getExtras().getString(AddDetailActivity.ADDRESS_KEY);
Toast.makeText(MainActivity.this, "Name is : " + name + " Address : " + address, Toast.LENGTH_LONG).show();
}
}
}
这是第二个Activity,我从中得到这样的数据:
public class AddDetailActivity extends Activity {
public static final String NAME_KEY = "U-name";
public static final String ADDRESS_KEY = "add";
protected EditText name_et, address_et;
protected String put_name, put_address;
protected Button button = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_detail);
name_et = (EditText) this.findViewById(R.id.name_editText);
address_et = (EditText) this.findViewById(R.id.address_editText);
put_name = name_et.getText().toString();
put_address = address_et.getText().toString();
//put_type = null;
button = (Button) findViewById(R.id.add_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.putExtra(NAME_KEY, put_name);
intent.putExtra(ADDRESS_KEY, put_address);
setResult(RESULT_OK, intent);
finish();
}
});
}}
如何解决这个问题,谢谢
【问题讨论】:
-
代替这个
String name = data.getExtras().getString(AddDetailActivity.NAME_KEY)试试这个String name = data.getExtras().getString(U-name)。 -
@Raghunandan 我也试过了,结果还是
null -
我建议在 AddDetailActivity.onClick() 周围放置一个断点或添加一些日志记录,并确认您正在放入合理的数据。
-
您在 add_button 单击之外获得了 EditText 值。在 add_button click 中获取此值。
-
糟糕!那是我的错误,现在我完成了,感谢您的帮助!
标签: android