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

(왕초보 질문) viewpager fragment안에 버튼을 누르면 다른 액티비티로 이동하려면 어떻게 해야 하나요?

0 추천

안녕하세요.. 탭레이아웃으로 만들어진 viewpager fragment안에 버튼을 누르면 다른 액티비티로 이동하고 싶은데 일반적인 액티비티 이동 방법으로 안먹히는지 궁금합니다.. 책에 있는 액티비티 이동 구현 그대로 따라했는데 실행 자체가 안되네요..ㅠㅠ 아무리 구글링해도 못찾겠습니다..

아래와 같은 구성이고요.

1.일단 '적성에 대해'버튼의 아이디를 btnActivity1로 뒀구요.

 

 

2. 그 다음 버튼을 누르면 떠야할 화면 past.xml을 만들어서 글을 좀 넣고 btnReturn이라는 id의 돌아가기 버튼을 만들었습니다.

3. pastActivity.java를 만들어서 extends Activity해주고 아래와 같이 코드를 넣었습니다.

public class pastActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.past);

        Button btnReturn1 = (Button)findViewById(R.id.btnReturn1);
        btnReturn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
}

 

4. 그리고 여기가 문제인지 모르겠는데 MainActivity.java에 아래와 같이 코드를 넣어줬습니다.

Intent intent = new Intent(getApplicationContext(), pastActivity.class);
startActivity(intent);

 

5. 당연히 AndroidManifest.xml에 액티비티 정보도 명시해줬습니다.

<activity android:name=".pastActivity"/>

 

도대체 뭐가 문제일까요 ㅠㅠ 방법이 잘못됐을까요? 새벽부터 계속 찾는 중인데 모르겠습니다.. 도움 부탁드립니다..

equals.name (120 포인트) 님이 2019년 6월 15일 질문

1개의 답변

0 추천
fragment안에 버튼선언하셔서 온클릭리스너 달아주시면 됩니다.
rhaps20 (6,010 포인트) 님이 2019년 6월 15일 답변
정말 죄송한데 TabFragment3.java에 코드 넣는거 맞나요..?
public class TabFragment3 extends Fragment {

    Button btnActivity1 = (Button)findViewById(R.id.btnActivity1);
        btnActivity1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //여기에는 뭐라고 넣어야 할까요..?
        }
    });
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.tab_1, container, false);
    }
}

일단 TabFragment3.java에 넣어봤는데 에러가 뜹니다..ㅠㅠ
어디에 넣어야할지 그리고 중간에 코드는 어떤 걸 넣어야할지 알려주시면 정말 감사하겠습니다.. 한번에 알아먹지 못해서 죄송합니다..
온크레이트뷰에

container.findViewById(R.id.btnActivity1);

이렇게 해보세요.
...