메뉴 건너뛰기

조회 수 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 [Android 2.3] SharePreference 2015.07.01 7051
156 안드로이드 android 개발 와이파이 유지 관련 2015.07.16 7034
155 [안드로이드] 버튼 이벤트 처리하기 file 2015.07.17 7029
154 푸시 서비스(GCM)에 대해 알아보자 file 2015.07.01 7000
153 [안드로이드] 레이아웃의 기본1 file 2015.07.16 6962
152 옵션 메뉴 동적으로 생성하기 2015.07.16 6926
151 내가 입력한 글자 Toast로 나오게 하기 file 2015.07.26 6896
150 Android] 안드로이드 홈 디렉토리 알아내기 2015.12.15 6895
149 android SMS 리시버 2015.06.29 6871
148 [안드로이드 강좌] 초보자들이 많이 하는 실수 file 2015.08.11 6833
147 HTML5 Geolocation (구글 지도에 현위치 표시하기) file 2014.09.04 6810
146 [안드로이드] 빠르게 사용할수 있는 컨텍스트 메뉴 만들기 file 2015.09.03 6789
145 [안드로이드] Activity에 대해서 file 2015.07.16 6767
144 특정 폴더에서 오래된 파일 삭제하기 2015.07.16 6767
143 CSS3 Rounded Corner, 그림자 효과 사용하기 file 2014.09.04 6760
142 Effects - SlideToggle() 메서드 (슬라이드 업/다운) file 2014.10.16 6758
141 ImageVeiw의 현재 리소스 비교하기 2014.08.28 6750
140 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 (1) file 2015.07.16 6726
139 트리뷰(TreeView) 컨트롤 file 2014.10.16 6722
138 jQuery ajax post 요청 text 응답 2014.10.16 6702
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved