FragmentActivity
을 확장하는 메인 액티비티가 있고 내 주요 활동에 첨부 된 Navigation drawer
이있는이 문제가 발생했습니다. 첫 번째 탐색에서는 세 개의 탭을 표시하는 FragmentStatePagerAdapter
을 구현하는 사용자 지정 어댑터가있는 Fragment를 호출합니다. 각각의 탭은 ListFragments입니다. 이 목록의 모든 행을 클릭하면 다른 조각으로 이동합니다.이 모든 것이 제대로 작동 할 때까지 backstack
을 구현하고 싶을 때 사용자가 세부 정보 페이지의 단추를 다시 누르면 다시 FragmentList 페이지로 돌아올 수 있습니다. 뒤로 버튼을 누르면 다시 FragmentList 페이지로 돌아가지만, 페이지가 비어있어 어떤 이유로 목록이 나타나지 않습니다. 로그를 확인한 후 데이터가 있음을 발견하고 코드의 마지막 비트까지 오류가 발생하지만 페이지가 비어있는 경우 아무거나 나 도와 줄 수 있습니까? 내가 어떤 탭의 목록에서 항목을 선택하면안드로이드 popBackStack이 ListFragment의 ListView를로드하지 않습니다
은 내가 가기 backstack에 트랜잭션을 추가하고 세부 조각로 이동 :
@Override
public void onBackPressed(){
Log.d("stack","back pressed");
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 0)
{
//fm.popBackStack();
boolean done = fm.popBackStackImmediate();
Log.i("stack", String.valueOf(done));
} else
{
Log.i("stack", "nothing on backstack, calling super");
super.onBackPressed();
}
}
:이가 내 주요 활동에
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Fragment fragment = new LiveMatchDetailMainFragment();
android.support.v4.app.FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.addToBackStack("LiveFragment");
fragmentTransaction.commit();
}
은 정확한 탭으로 이동하여 목록에서 항목을 클릭했지만 단편은 비어 있습니다. FragmentList 페이지에서 내가 가진 : 사용자 정의 어댑터를 사용하여 목록을 작성하고, 나는이 방법이 호출로드 모든 데이터를 얻는 가기 backstack 팝업 때, 처음으로 잘 작동
는@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
LiveMatchList = new ArrayList<HashMap<String, Object>>();
//Log.d("LiveMatchList setUserVisibleHint","setUserVisibleHint");
new LoadUpcomingMatchList().execute();
}
}
onPostExecute
까지 내려 오는 하지만 목록이 표시되지 않습니다, 미안 해요 stackoverflow에 새로운 아니지만 이건 내 두 번째 질문 게시물 그래서 난 규칙을 올바르게 따르지 않을 수도 ...