현재 여기있는 오픈소스를 통해 뷰페이저 구현을 해봤습니다.
https://guides.codepath.com/android/Sliding-Tabs-with-PagerSlidingTabStrip
우선 메인의 레이아웃은 아래와같이 짜놓았구
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
app:pstsShouldExpand="true"
app:pstsTextAllCaps="true"
android:layout_width="match_parent"
android:layout_height="48dp" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" />
뿌려지는 프래그먼트에서 onCreateView내부를 다음과같이 미리 짜놓은 액티비티의 레이아웃과 연결시켰습니다. 그리고 실행해봤는데 외관상 정상적으로 보였습니다.(상단에 탭2개, 그 아래에 원하는 액티비티의 레이아웃..)그러나 띄워진 레이아웃의 이벤트가 발생하지 않습니다. 에러가뜨면서 앱이 꺼지구요 로그캣에는 해당 메소드를 찾을수 없다는 결과였습니다. 제가 탭뷰를 처음 접해서 다른방식의 연결법을 찾지못한건지 방법이 없는건지 모르겠어서 조언을 구하고자 글을 올려봅니다. 맨 아래는 로그캣일부분입니다.
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=null;
LinearLayout layout_linear;
RelativeLayout layout_relat;
if(mPage==1) {
layout_linear = (LinearLayout) inflater.inflate(R.layout.activity_group, null);
return layout_linear;
}
if(mPage==2) {
layout_linear = (LinearLayout) inflater.inflate(R.layout.activity_time_add, null);
return layout_linear;
}
return null;
}
----------로그캣------------
01-24 20:51:41.934 16228-16228/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: stone.white.smft10, PID: 16228
java.lang.IllegalStateException: Could not find a method addView(View) in the activity class stone.white.smft10.TabActivity for onClick handler on view class android.widget.Button with id 'bt_add'
at android.view.View$1.onClick(View.java:3814)
at android.view.View.performClick(View.java:4442)
at android.view.View$PerformClick.run(View.java:18473)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5120)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)