메뉴 건너뛰기

조회 수 7699 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

* 현재 액티비티(DtatTransforActivity의 TextView의 내용을 datatransfor에 전달해 봅니다.

* 그리고 datatransfor 엑티비티의 EditText에 입력한 내용을 되돌려줍시다.

1.jpg

3.jpg







































3.jpg 4.jpg



1. xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:id="@+id/text"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Sample"
    />
<Button
    android:id="@+id/btnedit"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="mOnClick"
    android:text="Edit"
    />
</LinearLayout>






<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  >
<EditText
android:id="@+id/stredit"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"  />
<Button
    android:id="@+id/btnok"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="mOnClick"
    android:text="OK"/>
<Button
android:id="@+id/btncancel"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="mOnClick"
    android:text="Cancel" />
</LinearLayout>



2. java code

* 중요 메소드

1. startActivityForResult : 이전 포스팅에서는 화면만 이동하는 Activity클래스의 메서드인 startActivity()를 사용했다면 해당 메소드는 ForResult 즉 액티비티이동 후 다시 되돌아올 때 결과를 가지고 올수 있는 메서드입니다.


2. Intent.putExtra("키","데이터") : 액티비티를 이동할 때 전달하고자 하는 데이터를 해당 메소드를 통해 Intent에 담아갑니다.


4. Activity.getIntent : 새로 이동한 액티비티에서는 getIntent()를 통해 전달 받은 Intent객체의 정보를 가져올 수 있습니다. 


5. onActivityResult() : startAcitivityForResult()를 이용하여 액티비티를 이동할 경우 새로 호출한 액티비티가 종료될 때

콜백메서드로 onActivityResult()를 호출하게 되는데 해당 메서드의 매개변수에는 사라진 액티비티의 Intent 정보가 넘어옵니다.


package com.example.datatransforactivity;
 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager.OnActivityResultListener;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    public void mOnClick(View v){
        
        Intent intent = new Intent(this,TransferActivity.class);
        TextView txt = (TextView)findViewById(R.id.text);
        //intent에 data라는 키로 데이털르 저장해서 다음 Activity로 이동
        intent.putExtra("data",txt.getText().toString());
        
        
        //ShareData.getInstance().name = txt.getText().toString();
        // 인텐트를 화면에 출력하고 인텐트가 화면에서 제거될때 콜백메소드를 호출하도록 설정
        startActivityForResult(intent,1); 
        
    }
    //콜백메서드 정의
    //현재화면위에 출력된 액티비티가 화면에서 제거될때 호출되는 메소드
    @Override
    protected void onActivityResult(int requestCode,int reusltCode, Intent data){
        String msg = data.getStringExtra("data");
        TextView txt = (TextView)findViewById(R.id.text);
        txt.setText(msg);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}



package com.example.datatransforactivity;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
 
public class TransferActivity extends Activity {
 
    @Override
    public void onCreate(Bundle bundle){
        super.onCreate(bundle);
        setContentView(R.layout.actedit);
        EditText edit = (EditText)findViewById(R.id.stredit);
        
        
        //자기 인텐트를 부릅니다
        Intent intent = getIntent();
        //data라는 키로 저장된 데이터를 문자열로 받아서 저장
        String data = intent.getStringExtra("data");
        edit.setText(data);
        
    }
    
    public void mOnClick(View v){
        
        //호출한 엑티비티에게 데이터를 전달하기 위해서 intent를 생성
        Intent intent = new Intent();
        EditText edit = (EditText)findViewById(R.id.stredit);
        intent.putExtra("data", edit.getText().toString());
        setResult(1,intent);//정수는 아무거나 주시면됩니다
        
        
        
        finish();
    }
}








List of Articles
번호 제목 날짜 조회 수
77 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 639
76 패키지명을 한꺼번에 변경하기 (Refactor) file 2020.12.14 299
75 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1032
74 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 907
73 초기화면 페이지를 만들어보자. splash 페이지 제작 file 2020.12.14 290
72 안드로이드 앱배포하기 apk 만들기 file 2020.12.14 333
71 안드로이드 입문 연습문제 3문항 - CheckBox, RadioButton, EditText, Spinner, 이벤트연습 file 2020.12.14 482
70 Apk manager 이용해 Decompile (디컴파일) 하기 file 2021.03.16 1635
69 안드로이드 arrayList 를 Json으로 변환 / jsonarry file 2021.03.29 326
68 안드로이드 unescape /escape [StringEscapeUtils로 해결] file 2021.03.29 348
67 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 629
66 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 589
65 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 195
64 안드로이드 스튜디오 - 코드 자동 들여쓰기 file 2021.03.29 421
63 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 320
62 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 242
61 안드로이드 - 프레임레이아웃 (FrameLayout) file 2021.03.29 520
60 안드로이드 - 에디트텍스트(EditText) 사용법 정리 file 2021.03.29 2769
59 버튼 생성, 이벤트 처리 file 2021.03.31 237
58 Java에서 XML 불러와서 동적 변화 주기 file 2021.03.31 290
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved