package Ġcom . j osh le f ler . us const itution Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . List Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġle fl ers Ġon Ġ 6 / 3 / 1 7 . Ċ Ġ*/ Ċ Ċ class ĠMain List Fragment Ġ: ĠList Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġnodes Ġ= ĠArrayList < Node >() ĊĠĠĠ Ġprivate Ġvar Ġnode Type Ġ= Ġ" US ĠConst itution " ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater ?, Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnodes Ġ= Ġarguments . get (" nodes ") Ġas ĠArrayList < Node > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Type Ġ= Ġarguments . getString (" nodeType ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ( nodes . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnodes Ġ= ĠConst itution (). parse Const itution ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( nodeType . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . title Ġ= Ġnode Type ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġ ĠArray Adapter < Node >( activity . base Context , Ġandroid . R . layout . simple _ list _ item _ 1 , Ġnodes ) ĊĠĠĠĠĠĠĠ Ġset List Shown ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon ListItem Click ( l : ĠListView ?, Ġv : ĠView ?, Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on ListItem Click ( l , Ġv , Ġposition , Ġid ) ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġnodes [ position ] ĊĠĠĠĠĠĠĠ Ġif Ġ( node . paragraph s . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparagraph View Ġ= ĠParagraph Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable (" node ", Ġnode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparagraph View . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( R . id . main Frame , Ġparagraph View ). addTo Back Stack ( nodeType ). commit () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew List Ġ= ĠMain List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString (" nodeType ", Ġnode . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node . am end ments . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable (" nodes ", Ġnode . am end ments ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( node . articles . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable (" nodes ", Ġnode . articles ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( node . sections . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable (" nodes ", Ġnode . sections ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew List . arguments Ġ= Ġargs ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( R . id . main Frame , Ġnew List ). addTo Back Stack ( nodeType ). commit () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }