2017-09-20 11 views
0

내 탭 활동에 3 개의 탭이 있습니다. Fragment를 확장하고 레이아웃을 추가 한 3 개의 클래스를 만들었습니다. 내가 그것을 실행할 때, 그것은 잘 동작한다. 그래서 몇 가지 EditText 위젯과 Button을 두 번째 탭에 추가했습니다. 내 질문은 : 자바 코드를 어디에 배치해야합니까? 예를 들어, 해당 버튼의 onClickListener를 처리 할 수 ​​있습니다. 기본 탭 활동 클래스에서이 작업을 시도했지만 응용 프로그램이 손상되었습니다.Android 탭 활동 및 Java 코드?

+0

코드가 필요한 경우 Android Studio에서 새 프로젝트를 만들고 "활동 비우기"대신 "탭 활동"을 선택하십시오. 완벽한 코드를 찾아서 참조 할 수 있습니다. – zackygaurav

답변

0

해당 코드를 탭 작업의 관련 조각에 넣을 수 있습니다. 활동이 조각에서 부풀려진보기에 액세스 할 수 없기 때문에 응용 프로그램이 충돌합니다. 다음과 같이 할 수 있습니다 더이 tutorial를 방문하십시오

public class PageFragment extends Fragment { 
    public static final String ARG_PAGE = "ARG_PAGE"; 

    private int mPage; 

    public static PageFragment newInstance(int page) { 
     Bundle args = new Bundle(); 
     args.putInt(ARG_PAGE, page); 
     PageFragment fragment = new PageFragment(); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mPage = getArguments().getInt(ARG_PAGE); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_page, container, false); 
     TextView textView = (TextView) view; 
     textView.setText("Fragment #" + mPage); 
     return view; 
    } 
} 

합니다.

0

사례의 두 번째 탭 즉 각각의 조각에 버튼 클릭 코드를 추가해야합니다. 해당 단편을 호스팅하는 활동에 코드를 작성하지 마십시오.

+0

하지만 자바 파일에 나는 두 번째 조각 @Override 공공보기 onCreateView (LayoutInflater에서의 인플레이터, 뷰 그룹 용기, 번들 savedInstanceState) { 최종보기보기 = inflater.inflate (R에이 코드의 findViewById를 –

+0

만들기 사용을 사용할 수 없습니다 .layout.second_fragment, container, false); \t final 버튼 recyclerView = (Button) view.findViewById (R.id.mybutton); // 버튼 클릭 코드를 여기에 추가하십시오 돌아 가기보기; } –

+0

@slaven 당신은 조각에서 view.findviewbyid를 사용해야합니다. –