我从Activity
得到一些值,并得到那些在onActivityResult()
,onActivityResult()
被调用,但收到的数据是null
的MainActivity
无法在onActivityResult()
@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();
}
}
}
CODE
,这是第二个获得数据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();
}
});
}}
如何解决这个错误,谢谢
而不是这个'字符串名称= data.getExtras()的getString(AddDetailActivity.NAME_KEY)'试试这个'字符串名称=数据.getExtras()。的getString(U-名)'。 – Raghunandan
@Raghunandan我也尝试过,但结果仍为'null' –
现在试试我的答案 – Raghunandan