【发布时间】:2014-12-08 15:07:05
【问题描述】:
我在我的活动中使用以下代码:
公共类 SongSing 扩展 Activity 实现 SongCommunicator{
int lang, level;
static SongFragment2 fragment2;
@Override
protected void onCreate(Bundle savedInstanceState) {
Bundle extras = getIntent().getExtras();
lang = extras.getInt("lang");
level = extras.getInt("level");
Bundle b = new Bundle();
b.putInt("lang", lang);
Fragment f = new Fragment();
f.setArguments(b);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_song_sing);
}
还有我的片段:
公共类 SongFragment1 扩展 Fragment 实现 AdapterView.OnItemClickListener{
int lang, level;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.song_fragment1, null);
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
Bundle bundle = this.getArguments();
if(bundle != null){
lang = bundle.getInt("lang");
}
但我得到一个空包。
知道为什么吗?
谢谢!
【问题讨论】:
-
Fragment f = new Fragment();你为什么要实例化一个通用片段?你有自己的SongFragment1,用它来代替。 -
你创建了一个片段实例,你添加了参数,但是你停止了。您现在应该将此信息传递给您的片段(事务)。
-
啊...我是 Fragment 的新手。我有一首歌
-
点击了错误的按钮.. 我有一个 song_sing.xml 可以实例化我的片段。您将如何简单地传递来自活动的数据。