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
}
Tôi có nhu cầu hiển thị hai chế độ xem danh sách cạnh nhau, menu bên trái và nội dung của nó ở bên phải. Theo mặc định, menu đầu tiên được chọn và nội dung của nó được hiển thị ở phía bên phải. Fragment hiển thị nội dung như sau:
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 );
}
}
OnActivityCreate và onCreateView được gọi hai lần . Có rất nhiều ví dụ sử dụng mảnh vỡ. Vì tôi là người mới bắt đầu trong chủ đề này, tôi không thể liên hệ ví dụ với vấn đề của tôi. Tôi cần một cách chứng minh ngu ngốc để xử lý sự thay đổi định hướng. Tôi đã KHÔNG khai báo android:configChanges
trong tệp kê khai. Tôi cần hủy hoạt động và tạo lại để có thể sử dụng bố cục khác nhau ở chế độ ngang.