当我试图将数据传递给另一个活动时,由于某种原因它会丢失。我的发送活动很像:
protected OnItemClickListener onArtistItemClick = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View arg1, int cursor, long arg3) {
Intent artistCardIntent = new Intent(getBaseContext(), ArtistCardActivity.class);
Artist artist = (Artist) adapter.getItemAtPosition(cursor);
artistCardIntent.putExtra("artist_id", artist.getId());
artistCardIntent.putExtra("tt", "tt");
startActivity(artistCardIntent);
};
};
在调试时我可以看到artistCardIntent被填充,但是在接收活动中Intent我不包含任何额外的信息:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.artist_card);
Intent i = getIntent();
我做错了什么?
PS这两项活动都扩展了FragmentActivity。 感谢。
答案 0 :(得分:1)
要使用getextras()方法接收数据。找到以下代码。我认为它可以帮助你
Intent i = getIntent();
Bundle b=i.getExtras();
if(b!=null)
{
String artist= ("artist_id");
}
答案 1 :(得分:0)
将这些值转换为字符串并尝试它,它将起作用
startActivity(new Intent(Home.this,galmenu.class).putExtra("page","home"));
Intent myIntent = getIntent();
test=myIntent.getExtras().getString("page");
它完美运作
答案 2 :(得分:0)
我没有看到你得到额外的信息。