出于某种原因,我无法从我的 Intent 中检索我的额外 bundle 。我正在添加我的额外功能以传递给我的新 Activity :
public void getMap(View view){
Intent i = new Intent(this, BreweryYourTopBeers.class);
Log.d("map" , e.beerBreweryId);
i.putExtra("breweryID", e.beerBreweryId);
i.setClass(this, BreweryMap.class);
startActivity(i);
}
查看我的日志,我可以看到 e.beerBreweryId 在 bundle 和发送之前确实有一个值。
但是当我进入下一个类时,我一定不能从我的 Intent 中检索额外的内容。我尝试通过以下方式检索值:
public class BreweryMap extends ActionbarMenu {
BeerData e;
String beerID;
GoogleMap map;
//get beer details from bundle
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_brewerymap);
//get brewery data
//get beer data
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String breweryID = extras.getString("brewreyID");
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
//todo: get brewery latt and long and add marker
//construct url
String url = "http://api.brewerydb.com/v2/brewery/"+ breweryID +"?key=myKey&format=json&withLocations=y";
Log.d("map", url);
//async task to get beer taste tag percents
new myAsyncTask(this,map).execute(url);
}
当我在这里查看我的日志时,breweryID 始终为 NULL,我不明白为什么。
最佳答案
你那里有打字错误
尝试改变这一行
String breweryID = extras.getString("brewreyID");
到
String breweryID = extras.getString("breweryID");
关于带有 Intent 的 Android extra 始终为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20708397/