将一个hashmap包传递给一个片段

时间:2014-02-19 12:46:37

标签: android hashmap fragment

我有两个类,一个扩展FragmentActivity,另一个扩展Fragment

我想将一个包中的哈希映射传递给FragmentActivity类的Fragment类。 Fragment类应根据从FragmentActivity类接收的哈希映射值绘制图形(通过graphView库),该图形将显示在FragmentActivity的“片段”部分内} xml文件。我想在Fragment上调用Checkbox类,即在检查某个Fragment时,应将散列图传递给CheckBox类。下面是我的代码,它没有显示任何错误但它也不起作用。我尝试了一个非常小的片段示例,该示例有效但我无法在实际应用中使其工作。我会感激任何帮助。

public class Graphs_Combination extends FragmentActivity {
// some other code
public void onClick(View v)
{
        Fragment fr;
        fr = new DrawSingleGraph();

        if (((CheckBox) v).isChecked())
        {
            ListOfCheckedFctrsNames.add(((CheckBox) v).getText().toString());
            displayCheckedTextViews(ListOfCheckedFctrsNames);

            Bundle bundle = new Bundle();
            bundle.putSerializable(((CheckBox) v).getText().toString(),mMap);

            fr.setArguments(bundle);
    }
}

}

public class DrawSingleGraph extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
          ViewGroup container, Bundle savedInstanceState) 
{
    View v = inflater.inflate(R.layout.draw_single_graph,container, false);
    Log.e(LOG, "Inside DrawSingleGraph");

    Bundle b = this.getArguments();
    if(b.getSerializable("Depression") != null)
        mMap = (HashMap<String, HashMap<String,String>>)b.getSerializable("Depression");

}

它甚至不显示不依赖于捆绑的Log消息。 非常感谢

1 个答案:

答案 0 :(得分:1)

您创建了Fragment,但除此之外没有做任何事情。您必须通过FragmentTransaction的{​​{1}}获得Activity并适当添加新的FragmentManager