안드로이드

[안드로이드 강좌 예제 따라하기 3] 액티비티 전환 다른액티비티 실행

App.SHIN 2014. 11. 4. 00:23

우선 레이아웃에 버튼을 추가합니다. 기존 TextView를 Button으로 바꾸었습니다.

res/layout/activity_main.xml

<linearlayout 
	xmlns:android="http://schemas.android.com/apk/res/android" 
	android:layout_width="match_parent" 
	android:layout_height="match_parent" 
	android:orientation="horizontal">
	<button 
		android:id="@+id/button1" 
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content" 
		android:text="Next Activity">
	</button>
</linearlayout>

그러면 버튼이 뜹니다.
그리고 소스에서 OnClickListener를 추가합니다.


public class MainActivity extends Activity implements android.view.View.OnClickListener {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button b = (Button)findViewById(R.id.button1);
		b.setOnClickListener( this );
	}
	@Override
	public void onClick(View v) {
		Intent i = new Intent(this, NextActivity.class );
		startActivity(i);
	}
}


findViewById 를 이용하여 xml 파일에 설정된 id로 설정합니다.

그리고 setOnClickListener 로 현재 클래스를 설정합니다.

그리고 그렇게 하기위해서는 현재클래스에서 implements 를 이용하여 android.view.View.OnClickListener 를 구현해 주어야합니다.


android.view.View.OnClickListener 인터페이스는 onClick 메서드를 구현해야합니다.

그리고 해당 메서드에 다음 activity를 실행하는 코드를 추가합니다.

Intent i = new Intent(this, NextActivity.class );

intent의 첫번째 변수는 context이고 두번째는 실행될 class를 설정합니다.

그리고 startActivity 로 실행을합니다.


NextActivity.java내용입니다.

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



res/layout/activity_main2.xml

<linearlayout 
	xmlns:android="http://schemas.android.com/apk/res/android" 
	android:layout_width="match_parent" 
	android:layout_height="match_parent" 
	android:orientation="horizontal">
	<textview 
		android:id="@+id/textView1"
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content" 
		android:text="Hello Activity2" 
		android:textappearance="?android:attr/textAppearanceLarge">
	</textview>
</linearlayout>


그리고 마지막으로 AndroidManifest.xml 에 신규 activity를 설정해줍니다.



    
    
        
            
                

                
            
        
            
        


<activity android:name="com.shin.shinexample.NextActivity"></activity> 를 추가합니다.

그리고 실행을 합니다~


    



ShinExample_03.zip