我想将itemId从主活动传递到另一个活动。 现在我编写了如下代码,但我不想这样,只是我想在选择选项时将itemId从此活动传递到另一个。在另一个活动中,我将编写switch case选项。
这是我的代码:
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 :(得分:0)
使用Intents在活动之间传递数据。
Intent intent = new Intent(current.this, Next.class);
intent.putExtra("itemid", item.getItemId());
startActivity(intent);
在另一项活动中。
String itemId= getIntent().getStringExtra("itemid");
switch(itemId)
{
...
}
答案 1 :(得分: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);
}
答案 2 :(得分:0)
那么,您想要实际将数据传递给片段吗?
在对片段事务进行说明之前尝试添加:
Bundle bundle = new Bundle();
bundle.putInt("id", tem.getItemId());
fragmentS.setArguments(bundle);