마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오 프래그먼트를 할때..

0 추천
안드로이드 스튜디오를 시작해서
블랭크 액티비티 윗 프래크먼트를 해서 프래그먼트를 시작했는데
저의  자바소스파일안에는 메인엑티비티 그리고 메인엑티비티 프래그먼트 2가지가있었는데요
강의에서는 자바소스가 1개였고
저의 메인엑티비티 자바소스파일에는 에드 콜밋 플레이스홀프래그먼트 없이 나타나있는데 해결방법없나요??
왕초보군 (160 포인트) 님이 2015년 8월 7일 질문

1개의 답변

+1 추천
일반적인 Activity를 상속받아서는 프래그먼트 사용 못하시고..

FragmentActivity나 ActionBarActibity같은 Fragment가 사용가능한 액티비티를 상속받으셔서 구현해야합니다.
chemkaaa (6,030 포인트) 님이 2015년 8월 10일 답변
구현안해도 생기던데 어떤거죠;;??
구현안해도 된다는게 안드로이드스튜디오에서 Blank Activity with Fragment으로 프래그먼트를 시작하면 자바소스가 한개로
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if(savedInstanceState == null){
            getSupportFragmentManager().beginTransaction().add(R.id.action_bar_container,new placeholerFramgment()).commit();
        }
    }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

 public static class placeholerFramgment extends Fragment {
     public placeholerFramgment(){

     }

     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
         View rootView = inflater.inflate(R.layout.fragment_main,container,false);

         return rootView;
     }

 }
}

셋컨텐트뷰밑에랑 맨밑에 프라이스홀프래그먼트가 있어야하는데 왜 없는지 궁금합니다
자동으로 만들어지는 소스가 왜 안만들어지는지 궁금하신것인가요? 그 부분이라면 저도 안드로이드 스튜디오 툴상 어떻게 되는지 모르겠네요.

저 위에 소스는 액티비티안에 프래그먼트를 add 한 상태입니다. 없으면 직접 코딩하셔도 되는 부분이에요.
감사하합니다.  채택해드릴께요^^
저기 님아 채택어떻게하죠>?
...