메뉴 건너뛰기

조회 수 7676 추천 수 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
번호 제목 날짜 조회 수
157 HTML5 Form 공부하기 -1- file 2014.09.04 5841
156 HTML5 Better semantic tags file 2014.09.04 5952
155 Effects - Show() / Hide() 메서드 (보이기 및 숨기기) file 2014.10.16 5957
154 안드로이드 이미지 효율적으로 회전 해보기 2014.08.28 5995
153 Effects - SlideUp() 메서드 (슬라이드업) file 2014.10.16 6001
152 HTML5로 게임 만들기 워밍업 file 2014.09.04 6063
151 Effects - FadeIn() / FadeOut() 메서드 (서서히 보이기 및 숨기기) file 2014.10.16 6069
150 네트워크를 통해 받은 이미지를 파일로 저장하고, 크기 조절해서 불러오기 2015.07.16 6155
149 클래스나눠서 xml 파싱과 FTP를이용하여 안드로이드에서 활용하기 2014.08.28 6180
148 Effects - Stop() 메서드 (애니메이션 효과 멈추기) file 2014.10.16 6225
147 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (3) file 2015.07.16 6267
146 HTML5로 나만의 비디오 플레이어 스킨 만들기 -3- JavaScript file 2014.09.04 6288
145 전화 인텐트와 나의 전화 번호가져오기 2014.08.28 6312
144 HTML5로 나만의 비디오 플레이어 스킨 만들기 -2- JavaScript file 2014.09.04 6312
143 WebView 줌 컨트롤러 가리기 2014.08.28 6316
142 HTML5 Form 공부하기 -2- file 2014.09.04 6329
141 사용자 정의 팝업창 띄우기 2015.07.16 6337
140 FTPClient 를이용한 데이터 업로드 하기 2014.08.28 6366
139 이미지 버튼 설정 2015.07.16 6378
138 Android Push GCM 서버 구성 하기(3) file 2015.12.14 6388
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved