【发布时间】:2014-10-25 01:34:52
【问题描述】:
我试图在片段上制作一个后退按钮。 我使用 onBackPressed .. 但每次编译并单击后退按钮, 屏幕总是转到主屏幕,而不是转到上一个片段 我的代码有什么问题? 谢谢之前
这是我的代码
public class FragmentScheduleRoom extends Fragment{ ListView list; // Array of strings storing country names String[] room = new String[] { "304", "305", "306", "307", "308", }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d("ZZZ", "ada di oncreateView Schedule room"); super.onCreate(savedInstanceState); View rootView = inflater.inflate(R.layout.fragment_layout_schedule_room, container,假); final List> aList = new ArrayList>();
for(int i=0;i<5;i++) { HashMap<String, String> hm = new HashMap<String, String>(); hm.put("room", room[i]); aList.add(hm); // R.layout.listview_layout defines the layout of each item list = (ListView) rootView.findViewById(R.id.list); ListAdapter adapter = new SimpleAdapter(getActivity(), aList, R.layout.list_schedule_room, new String[]{"room"}, newint[]{R.id.room});
list.setAdapter(adapter); list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String room = ((TextView) view.findViewById(R.id.room)).getText().toString(); // Intent in = new Intent(getActivity(),FragmentScheduleDetail.class); // in.putExtra("txt",day); String selectday = getArguments().getString("selectday"); Fragment fragment = new FragmentScheduleDetail(); Bundle data = new Bundle(); data.putString("selectroom", room); data.putString("selectday", selectday); fragment.setArguments(data); FragmentManager frgManager = getFragmentManager(); Log.d("tag", "ROOM SELECT: " + data.getString("selectroom")); frgManager.beginTransaction().replace(R.id.content_frame, fragment) .commit(); //Toast.makeText(getActivity(), "You Clicked at " + aList.get(+position).get("day"), Toast.LENGTH_SHORT).show(); } }); } return rootView; } public void onBackPressed() { //super.onBackPressed(); //Toast.makeText(getApplicationContext(), "click",2000).show(); Fragment fragment = new FragmentScheduleDay(); FragmentManager frgManager = getFragmentManager(); frgManager.beginTransaction().replace(R.id.content_frame, fragment) .commit(); } }
【问题讨论】:
标签: java android android-fragments back-button