반응형
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 |