收到的意图不包含额外内容

时间:2012-05-23 13:00:57

标签: android android-intent

当我试图将数据传递给另一个活动时,由于某种原因它会丢失。我的发送活动很像:

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。 感谢。

3 个答案:

答案 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)

我没有看到你得到额外的信息。

查看此答案How do I get extra data from intent on Android?