300x250
intent 활용(명시적 인텐트)
intent는 보편적으로 다른 화면으로 전환하거나 전환하면서 데이터를 넘기는 역활을 하는 객체입니다.
intent의 경우 명시적/암시적 인텐트가 존재하지만 여기서는 명시적 인텐트 사용입니다.
예시프로그램으로 메인화면에서 서브화면으로 전환하는 것을 보여드릴려고 합니다.
* MainActivity
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("메인화면입니다."); } public void clickText(View view){ Intent intent = new Intent(this, subActivity.class); TextView textView1 = (TextView) findViewById(R.id.text); intent.putExtra("it_name", name); this.startActivity(intent); this.finish(); } }
* activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.middletest.MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lopic"
android:onClick="clickText"
android:clickable="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2017"
android:textSize="25sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼"/>
</LinearLayout>
* subActivity.java
public class subActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub); setTitle("서브화면 입니다."); Intent sub_intent = this.getIntent(); String name = sub_intent.getStringExtra("name"); TextView textView1 = (TextView) findViewById(R.id.textview1); textView1.setText("서브에서 전달받은 값: " + name); } public void clickBatang(View view){ Intent sub_intent2 = new Intent(this, MainActivity.class); this.startActivity(sub_intent2); this.finish(); } }
* activity_sub.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:onClick="clickBatang"
android:clickable="true"
tools:context="com.example.middletest.subActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview1"
android:text="서브화면입니다."/>
</LinearLayout>
반응형
'Android' 카테고리의 다른 글
android - Execution failed for task ':app:buildNative' 에러 (0) | 2017.06.02 |
---|---|
안드로이드 Database Insert (0) | 2017.06.02 |
안드로이드 - 버튼 누르는 동안 동작 (0) | 2017.04.27 |
HttpURLConnection.HTTP_OK, 302 주의점 (0) | 2017.03.02 |
안드로이드 ConnectivityManager, NetworkInfo (0) | 2017.03.01 |