2017-01-23 5 views
-1

어떻게 FragmentActivity 대신 AboutAndHelpActivity에 넣을 수 있습니까? 아니면 FragmentstartActivity()에 넣을 수 있습니까?Activitiy 자체 대신 Fragment를 시작하는 방법은 무엇입니까?

//if it is the first start of the app, open HelpFragment once. 

    Boolean isFirstRun = getSharedPreferences("PREFERENCE", MODE_PRIVATE) 
      .getBoolean("isFirstRun", true); 
    if (isFirstRun) { 

     startActivity(new Intent(MainActivity.this, AboutAndHelpActivity.class)); 
     Toast.makeText(MainActivity.this, "First Run", Toast.LENGTH_LONG) 
       .show(); 
    } 
    getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit() 
      .putBoolean("isFirstRun", false).commit(); 

답변

0

활동 및 파편이 무엇인지 완전히 오해하고 있습니다. 다시 읽으십시오.

tl; dr : 활동 - 기본 단위. 조각 - 부분. 단편은 일부 활동에서만 호스트 될 수 있으며 다른 f}으로 표시 될 수 없습니다. 당신은 활동과 단편 에 대해 생각하고 싶지 전에

getSupportFragmentManager().beginTransaction() 
      .replace(R.id.fragment_holder,new MyFragment()) 
      .addToBackStack(MyFragment.class.getSimpleName()) 
      .commit(); 
+0

나는 그 차이점을 안다. 하지만 일단 응용 프로그램이 시작되면 한 번 조각을 시작하고 싶습니다. 뿐만 아니라 활동. 어떻게 할 수 있습니까? – SGE59

+0

두 가지 옵션이 있습니다. 1) 현재 활동에 조각을 추가하십시오 (일부 시작 활동). 2) 주요 활동을 시작할 때, 단편을 보여주기 위해 활동을 추가로 추가하십시오. – Ekalips

+0

''의도 '에 뭔가를 넣을 수 있습니다. 부울 "isFirstRun"을 넣고 활동에서'getIntent()'와'getExtras()'를 사용하십시오. – Ekalips

0

것은 당신이 당신이 생각 링크를 확인하시기 바랍니다 얻을 것이다 그래서 에 대해 읽고 제안합니다 : 당신이 활동에 조각을 표시 할 수있는 방법은 다음과

조각 정보

https://developer.android.com/guide/components/fragments.html

추가, 활동에서 조각을 제거하거나 대체 할 수

0 조각 수명주기를 관리해야합니다. 내가 제대로 이해하면 그렇지 않으면 당신은 예기치 않은 UI 나 앱 문제

0

를 얻을 수 있습니다, AboutAndHelpActivity는 응용 프로그램의 첫 번째 실행 집을 조각에 시작하기로되어있다. 그렇다면 활동 시작 부분이 초기 질문에서 이미 해결되었으므로 남아있는 부분은 단편을 보여줍니다. 두 가지 옵션이 나에게 의미합니다 경우

  1. AboutAndHelpActivity의 유일한 작업이 조각을 수용 할 수 있으며 다른 목적으로 시작되지 않습니다의 조각은 레이아웃 XML을 추가 할 수 있습니다.

  2. 그렇지 않으면 조각은 @Ekalips에서 이미 지적한대로 추가 의도에 따라 동적으로 추가해야합니다.

+0

고마워요. – SGE59