如何从活动中启动片段

时间:2014-06-18 19:11:12

标签: android android-fragments

我在使用android中的片段时遇到问题。我有一个包含listviewbutton的活动,当我点击项目时,我想转到另一个包含所选项目详情的片段,我已经使用过:

public void onItemClick(AdapterView<?> a, View v, int position,
                        long id) {

                    // on récupère la HashMap contenant les infos de notre item
                    // (titre, description, img)
                    HashMap<String, String> map = (HashMap<String, String>) maListViewPerso
                            .getItemAtPosition(position);

                    // Create fragment and give it an argument specifying the article it should show
                    ProfileEvent even= new ProfileEvent();
                    Bundle bundle = new Bundle();
                    bundle.putString("key", map.get("idunique"));
                Log.d("laad",map.get("idunique"));
                    even.setArguments(bundle);


                     getFragmentManager().beginTransaction()
                        .add(R.id.container3, even  )
                        .commit();

我不知道该做什么数据被传递给片段但是我无法获得视图,我的logcat表明什么都没有错。愿你能帮助我

2 个答案:

答案 0 :(得分:0)

我是否正确您尝试使用线性布局作为片段的容器?作为片段的容器,您必须使用框架布局。

答案 1 :(得分:0)

你的代码

Bundle bundle = new Bundle(); bundle.putString(&#34; key&#34;,map.get(&#34; idunique&#34;));

是对的。现在你要做的就是在片段中得到那个字符串值。

Bundle bundle = this.getArguments(); myValue = bundle.getString(&#34; key&#34;);