2015-08-19 94 views
0

我想将itemId从主活动传递到另一活动。 现在我写了下面的代码,但我不想要这样,只是我希望从这个活动传递itemId到另一个选项时。在另一项活动中,我将写入开关盒选项。如何将onOptionsItemSelected项目ID从主活动传递到另一活动

这里我的代码:

public boolean onOptionsItemSelected(MenuItem item) { 
     super.onOptionsItemSelected(item); 


     switch(item.getItemId()) { 
      case android.R.id.home:mDrawerToggle.onOptionsItemSelected(item); 



      case R.id.action_settings:SettingsFragment fragmentS = new SettingsFragment(); 
       getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragmentS).commit(); 
       break; 

    } 

    return super.onOptionsItemSelected(item); 
    } 
+0

你尝试'Intents'? –

+0

从你的代码看来,你想要从一个片段传递值到另一个片段。如果是这样,你应该编辑这个问题。它说你想把价值从一个活动传递给另一个活动。我按照片段回答。 – Rohit5k2

回答

0

使用意图的活动之间传递数据。

Intent intent = new Intent(current.this, Next.class); 
intent.putExtra("itemid", item.getItemId()); 
startActivity(intent); 

而在其他活动。

String itemId= getIntent().getStringExtra("itemid"); 
switch(itemId) 
{ 
    ... 
    } 
+0

谢谢......我把这个例子放在switch case里面。打破;但我得到错误 – Razul

+0

正如其他人所说,你想使用片段,我的将是活动。 –

+0

我想要你给的..但我有问题..请阅读我上面的评论 – Razul

0

从你的代码看来,你想要从一个片段传递值到另一个片段。如果是这样,你应该编辑这个问题。它说你想把价值从一个活动传递给另一个活动。我按照片段回答。

做这个

switch(item.getItemId()) { 
    case android.R.id.home: 
     mDrawerToggle.onOptionsItemSelected(item); 

    case R.id.action_settings: 
     SettingsFragment fragmentS = new SettingsFragment(); 
     Bundle args = new Bundle(); 
     args.putInt("ItemID", item.getItemId()); 
     fragmentS.setArguments(args); 
     getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragmentS).commit(); 
     break; 
} 

在其他片段得到这样

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    int itemId = getArguments().getInt("ItemID");  
    return inflater.inflate(R.layout.fragment, container, false); 
} 
0

所以,你想将数据传递到实际片段的价值?

尝试strating片段交易之前加入:

Bundle bundle = new Bundle(); 
bundle.putInt("id", tem.getItemId()); 
fragmentS.setArguments(bundle); 
相关问题