打开活动A并加载活动A的活动B的特定片段

我有活动A根据菜单select加载片段。 如果我从活动B到活动A做了一个意图,将加载默认指定的活动A片段。 我想要实现的是从活动A而不是默认的加载另一个片段。 我希望这至less有一点道理。 我试图做的是这个 – >

在活动BI有 – >

btnlinkToForum.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(getApplicationContext(), ReaderActivity.class); i.putExtra("fragmentNumber", 1); startActivity(i); } }); 

我尝试基于putExtra数据来加载活动A中的特定片段 – >我将这段代码放入onCreate方法

 if (getIntent().getIntExtra("fragmentNumber", 0) == 1) { FragmentManager fm = ReaderActivity.this.getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); FragmentForum fragment = new FragmentForum(); if (fragment != null) { // Replace current fragment by this new one ft.replace(R.id.activity_main_content_fragment, fragment); ft.commit(); // Set title tvTitle.setText("Forum"); } } 

这然而加载默认片段,而不是…任何帮助将不胜感激

  • Android启动系统设置,而不是我的应用程序
  • 如何在Fragment中调用OnActivityResult以及它是如何工作的?
  • 浏览器意图并返回到正确的活动(closures打开的选项卡)
  • 互联网监听器的Android例子
  • 如何判断Intent.createChooserselect了哪个应用程序?
  • 启动文件和MIMEtypes的意图?
  • 在Samsung Galaxy S上以肖像模式“拍照并呈现”
  • 如何根据其他微调器在两个不同活动中的位置来改变微调器的位置
  • 任何人都可以举例说明如何做到这一点…每当我尝试使用getIntent()。getStringExtra(“whatever”); 我得到一个空值… –

    当然,你应该从一个活动到另一个活动获得价值:

    Activity_A.java

     Intent i = new Intent(this, SignUpActivity.class); i.putStringExtra("key", value); startActivity(i); 

    Activity_B.java

     onCreate() { Intent i = getIntent(); String var = i.getStringExtra("key"); .. } 

    PS:如果你想传递一个对象

     i.putSerializable("object", object); 

     (Class) i.getSerializable("object"); 

    这工作;)我的问题是我混合初始化意图的buttonids,所以基本上我虽然我按了正确的button,因为button的名称是正确的,但我引用了错误的buttonID,所以这就是为什么我总是得到一个空值! 这就是下面说的代码适合我! 在活动B:

     btnToForum.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(RssListActivity.this, ReaderActivity.class); //pass data to an intent to load a specific fragment of reader activity String fragmnet = "forum"; i.putExtra("fragment", fragmnet); startActivity(i); } }); 

    在活动A:

      Intent i = getIntent(); String fragmentName = i.getStringExtra("fragment"); String forum = "forum"; Log.e("Test1", "Test1" + fragmentName); if (fragmentName != null && fragmentName.equals(forum)) { Do some magic here ;) }