public class MainActivity extends Activity implements MainMenuFragment.OnMainMenuItemSelectedListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
// add menu fragment
MainMenuFragment myFragment = new MainMenuFragment();
fragmentTransaction.add(R.id.menu_fragment, myFragment);
//add content
DetailPart1 content1= new DetailPart1 ();
fragmentTransaction.add(R.id.content_fragment, content1);
fragmentTransaction.commit();
}
public void onMainMenuSelected(String tag) {
//next menu is selected replace existing fragment
}
Saya perlu menampilkan dua tampilan daftar secara berdampingan, menu di kiri dan isinya di sisi kanan. Secara default, menu pertama dipilih dan isinya ditampilkan di sisi kanan. Fragmen yang menampilkan konten adalah sebagai berikut:
public class DetailPart1 extends Fragment {
ArrayList<HashMap<String, String>> myList = new ArrayList<HashMap<String, String>>();
ListAdapter adap;
ListView listview;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if(savedInstanceState!=null){
myList = (ArrayList)savedInstanceState.getSerializable("MYLIST_obj");
adap = new LoadImageFromArrayListAdapter(getActivity(),myList );
listview.setAdapter(adap);
}else{
//get list and load in list view
getlistTask = new GetALLListTasks().execute();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.skyview_fragment, container,false);
return v;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("MYLIST_obj", myList );
}
}
OnActivityCreated dan onCreateView dipanggil dua kali . Ada banyak contoh di luar sana yang menggunakan fragmen. Karena saya pemula dalam bidang ini, saya tidak dapat menghubungkan contoh dengan masalah saya. Saya membutuhkan cara yang sangat mudah untuk menangani perubahan orientasi. Saya BELUM mendeklarasikan android:configChanges
dalam file manifes. Saya perlu aktivitas menghancurkan dan membuat ulang sehingga saya bisa menggunakan tata letak yang berbeda dalam mode lanskap.