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

fragment 연결은 어떻게 하는건가요? [closed]

0 추천
package com.example.gradecal;

import android.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.widget.Toast;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;

public class GradeCalMain extends SherlockActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		FstFrag fst = new FstFrag();

		getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

		ActionBar.Tab tab1 = getSupportActionBar().newTab();
		tab1.setText("학점 계산");
		
		// getFragmentManager().beginTransaction().add(R.id.container,
		// fst).commit();
		
		tab1.setTabListener(new MyTabListener(fst));
		getSupportActionBar().addTab(tab1);

		ActionBar.Tab tab2 = getSupportActionBar().newTab();
		tab2.setText("기록된 학점");
		tab2.setTabListener(new MyTabListener(fst));
		getSupportActionBar().addTab(tab2);

		ActionBar.Tab tab3 = getSupportActionBar().newTab();
		tab3.setText("학점 상태");
		tab3.setTabListener(new MyTabListener(fst));
		getSupportActionBar().addTab(tab3);

	}

	private class MyTabListener implements ActionBar.TabListener {

		private Fragment frg;

		public MyTabListener(Fragment frg) {
			this.frg = frg;
		}

		@Override
		public void onTabSelected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub

			getFragmentManager().beginTransaction().add(R.id.container, frg)
					.commit();

		}

		@Override
		public void onTabUnselected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub

			getFragmentManager().beginTransaction().detach(frg);
			frg = null;

		}

		@Override
		public void onTabReselected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub

			Toast.makeText(getApplicationContext(), "이미 선택된 탭입니다.",
					Toast.LENGTH_SHORT).show();

		}
	}
}

오늘 하루종일 뻘짓하고 있는 안드로이드초보자입니다.

'셜록액션바'로 탭을 만들어서 탭에 열심히 프레그먼트를 집어넣어보고는 있는데

인터넷에 설명이 너무 다양한데 제꺼에 맞질 않네요;

거기다 다양한게 오히려 독이되서 뭐가 뭔지를 모르겠습니다 ㅠㅠ

프레그먼트 대체 어떻게 써야하나요;;

일단 실행까지는 되는데 다른 탭을 누르면 튕기네요;

혹시 아직 프레그먼트 두 개를 안만든 것 때문에 그런건가요?

답변 부탁드립니다 ㅠㅠㅠㅠㅠ

질문을 종료한 이유: getFragmentManager().beginTransaction().add(R.id.container, frg).commit(); 을 replace(R.id.container, frg)로 바꿔서 commit()하니 잘 되네요;
생초보개발자준비생 (250 포인트) 님이 2014년 12월 12일 질문
생초보개발자준비생님이 2014년 12월 12일 closed
...