2010-11-27 5 views
4

나는이 두 개의 img로 하나의 화면을 만들었고 페이지의 아래쪽에 버튼을 추가하고 싶습니다. 마녀를 클릭하면 두 번째 페이지로 이동합니다. 그걸 어떻게 쓸지 알고 있습니다. ? 단추를 만드는 방법을 알고 있지만 두 화면을 연결하는 방법을 모른다. 감사합니다.두 가지 활동을 연결하는 방법

답변

5

이 작업은 startActivity(); 메소드를 사용합니다.

Intent i = new Intent(FromActivity.this, ToActivity.class); 
startActivity(i); 

이 경우 인 텐트는 현재 활동을 첫 번째 매개 변수의 컨텍스트로 사용하고 두 번째 매개 변수의 대상 활동을 사용합니다.

두 번째 활동을 반드시 (태그에있는) 매니페스트에 추가했는지 확인하십시오!

<activity android:name=".ToActivity" 
      android:label="@string/app_name"> 
</activity> 
+0

이것은 두 번째 활동으로 바로가는 버튼이 될 것입니까? 나는 더 이상 뭔가를 써야합니까? –

+1

그 코드를 onClick() 버튼에 넣으면 새로운 Activity가 열립니다. – Knossos

2

을 요약하면 :

ImageView myImage = (ImageView) findViewById(R.id.image); 
myImage.setOnClickListener(new OnClickListener() { 
     @Override 
     onClick(View v) { 
      Intent intent = new Intent(FromActivity.this, ToActivity.class); 
      startActivity(intent); 
     } 
    } 
); 
1
Intent intent = new Intent(currentActivity.this,nextActivity.class); 

this.finish(); 

startActivity(intent); 
0
Button start_button=(Button)findViewById(R.id.btnsend); 

start_button.setonClickListener(new onClickListener(){ 

    @override 

    onClick(View view){ 

     Intent i = new Intent(MainActivity.this, NewActivity.class); 

     startActivity(i); 

    } 

} 

); 
+0

이것도 컴파일되지 않습니다 ... – 0X0nosugar

+1

그것은 이미 말한 것에 무엇을 추가합니까? [here] (http://stackoverflow.com/a/4292125/1276636), [here] (http : /stackoverflow.com/a/4292724/1276636) 및 [여기] (http://stackoverflow.com/a/16276399/1276636)이 질문에? – Sufian

0

은 모든 활동이 두 각을 가지고로 XML & JAVA 부분, 두 부분으로 대답을 깰 수 있습니다. 우리는 단지 두 개의 활동 만 가지고 있다고 가정 할 때 'Activity1'은 사용자를 'Activity2'로 리디렉션하는 버튼이있는 것입니다. 2 개의 활동이 있으므로이 2 가지 활동과 관련된 4 개의 파일이 있습니다.

XML

그래서 첫째로 즉시 activity1에의 .XML 파일을 엽니 다 같이 쉬운 방법을 수행 할 수 있습니다, 당신은 탭을 설계 이동합니다.

팔레트에서 버튼을 삽입 할 수있는 디자인 부분에 도달하면 레이아웃 내부에있는 버튼을 선택할 수 있습니다. 선택 후에는 버튼의 여러 속성을 효과적으로 변경할 수있는 화면의 오른쪽 섹션에있는 버튼의 속성을 볼 수 있습니다.

여기에 "onClick"옵션이 있으며 그 옆에있는 상자를 매우 간단하게 또는 기억할 수있는 것으로 채 웁니다. 예를 들어이 모든 XML 부분에 XML

android:onClick="nextAct" 

에 버튼 코드에서 follwing을 줄을 입력하여 수동으로 "nextAct"

또는

하드 방법은 OnClick 속성을 입력하는 것를 입력합니다.

열기 activity1에의 된 .java 파일

JAVA, 여기 당신은 새로운 방법을 확인해야합니다. 이 메소드의 이름은 버튼의 "onClick"속성과 동일해야합니다. 여기서는 XML에서 사용한 것과 같이 "nextAct"를 사용합니다. 당신은 자바 파일의 클래스 안에이 새로운 메소드를 둘 수 있습니다. 나는 미래에 어떤 이슈라도 쉽게 찾을 수 있기 때문에 클래스의 끝에 그것을 유지하는 것을 더 선호합니다.

이제 nextAct 메소드의 본문을 작성해야합니다.이 두 줄에 요약 할 수 있습니다.

public void nextAct(View v){ 
Intent i = new Intent(this, Activity2.class); 
startActivity(i); 
} 

이 두 가지 모두 연결되어 정상적으로 작동해야합니다.

0

귀하의 버튼에 id를 부여하고 MainActivity.class에서 언급하십시오. 그러면 OnClickListener를 호출하여 클릭을들을 수 있습니다.

Button mButton = (Button)findViewById(R.id.buttonid); 
mButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

    //you can use anything in place of i 
      Intent i = new Intent(MainActivity.this, NextActivity.class); 
      startActivity(i); 

     } 
    }); 
관련 문제