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

뷰 페이저 이용하는데 만들어놓은 액티비티로 연결되게 하고싶어요.

0 추천

현재 여기있는 오픈소스를 통해 뷰페이저 구현을 해봤습니다.

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)

맹꾸 (500 포인트) 님이 2016년 1월 24일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...