일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파일
- cafe24
- NT900X4C-A99 PalmTracking
- 파티션
- PalmTracking
- ssd 파티션
- putty
- NT900X4C-A99 터치패드
- BIOS
- 폼 리셋
- form input file reset
- DB
- form reset
- 리셋
- 호스팅
- Palm Tracking
- 윈8 설치
- usb부팅
- 폼
- NT900X4C-A99 손바닥인식
- 카페24
- 폼 파일 리셋
- WebMysql
- window8 설치
Archives
- Today
- Total
Mission Completed
2013.06.01 ArrayList<Object> Intent로 넘기고 받기 본문
/** 버튼 클릭 이벤트 */ @SuppressWarnings("unchecked") @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnLeft: break; case R.id.btnRight: int counter = 0; // Adapter 에 등록된 데이터의 수 만큼 반복한다. for (int i = 0; i < adapter.getCount(); i++) { // Adapter 의 항목 한가지를 추출하여 체크 상태를 점검한다. JobList temp = adapter.getItem(i); if (temp.isChecked()){ counter++; } } if (counter == 0) { Toast.makeText(this, "항목을 1개 이상 선택하셔야 합니다.", Toast.LENGTH_SHORT).show(); return; } // 값을 Intent에 담기 Intent intent = new Intent(this, TotalPriceActivity.class); intent.putParcelableArrayListExtra("jobList", (ArrayList<? extends Parcelable>)list); /** (1) */ // SecondActivity에 3이라는 번호를 붙여서 이동 후, // SecondActivity가 종료되었을 때, 이 클래스의 특정 메소드를 자동으로 호출하도록 지정 startActivityForResult(intent, 3); break; } } /** * (4) * startActivityForResult()에 의해서 호출된 Activity가 명시적으로 종료되어서 * 원래의 화면으로 되돌아 올 경우, 자동으로 호출되는 메소드 * @param int 호출했던 화면일련번호 (startActivityForResult 참조) * @param int 되돌려진 값의 여부 * @param Intent 보내어진 데이터가 담긴 변수 */ @SuppressWarnings("unchecked") @Override public void onActivityResult(int activity_number, int result_code, Intent data){ switch (activity_number) { case 3: // SecondActivity에 다녀온 경우 // 앞 화면에서 setResult()에 설정한 값에 따라서 처리를 구분 if (result_code == Activity.RESULT_OK) { // Toast.makeText(this, "확인버튼 누름", Toast.LENGTH_SHORT).show(); ArrayList<Parcelable> parceList = data.getParcelableArrayListExtra("jobList"); list = (ArrayList<JobList>) parceList.clone(); adapter.clear(); adapter = new DataAdapter(this, list); lbJobs.setAdapter(adapter); } else if (result_code == Activity.RESULT_CANCELED) { // 이 처리는 Back 키를 누를 경우에도 해당 됨. Toast.makeText(this, "취소 버튼 누름", Toast.LENGTH_SHORT).show(); } break; } Log.d("MainActivity", "onActiviyResult() 수행됨"); }
import java.util.ArrayList; public class TotalPriceActivity extends Activity implements OnClickListener{ ArrayList<JobList> list = null; @SuppressWarnings("unchecked") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_total_price); /** 리스트뷰에 대한 데이터 연결 */ list = new ArrayList<JobList>(); // -------------------------------------- // 이전화번에서 전달된 값 받기 // -------------------------------------- Intent fromIntent = getIntent(); ArrayList<Parcelable> parceList = fromIntent.getParcelableArrayListExtra("jobList"); list = (ArrayList<JobList>) parceList.clone(); } }
import java.io.Serializable; @SuppressWarnings("serial") public class JobList implements Serializable { // Constructors, Getters and Setters }
'개발 > 개인작업실' 카테고리의 다른 글
walkthrough dropbox and alzip mobile (0) | 2014.09.03 |
---|---|
input type이 file 일때 reset 하는법 (0) | 2013.10.29 |
ITWill 에서 했던 프로젝트 리스트 (Android) (0) | 2013.07.04 |