마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ListView 클릭시 데이터 인텐트로 넘기는법 질문이여

0 추천
첫번째 Activity에서 이렇게 넘기고

@Override
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  

  Intent intent = new Intent(context, SingleItemActivity_.class);
  intent.putExtra("post", list.get(position));
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(intent);
  
 }

두번째 Activity에서

 @Override
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.singleitemview);
  Intent intent = getIntent();
   
  TextView text = (TextView)findViewById(R.id.textPost);
  intent.putExtra("post", text.getText().toString());
  
  setResult(RESULT_OK, intent);

 }

이런식으로 받습니다... 문제는  리스트에있던 데이터가 다음 액티비티로 넘어가지를 않습니다. 돠주세요....;
sn1883 (860 포인트) 님이 2014년 9월 11일 질문
2번째 activity에서 Extra data를 받는 곳이 안 보이고, TextView 값을 설정만 하시는 듯 한데요.

2개의 답변

+1 추천
받는쪽에서 보낸 데이터를 꺼내 사용하는 부분이 없군요..
Gradler (109,780 포인트) 님이 2014년 9월 11일 답변
+1 추천

두번쩨 엑티비티에서

 

 intent.putExtra("post", text.getText().toString());

 

이게 아니고 

 

intent.get 어쩌구 해서 받아야되지 않을까요?

 

보내는 값이 스트링이냐 인트형이냐 아님 클래스냐에 다라 쓰는건 다르지만요.

 

첫번째 클래스에서 put을 하셨으면 두번째에서는 get을 해야됩니당~

 

제가 구현한것중 예를들면 첫번째 클래스에서

 

Intent intent = new Intent(con , 두번째액티비티.class);

intent.putExtra("키값", 어레이.get(position).넘길값());
con.startActivity(intent);
 
이렇게 해서 클래스를 넘기고
 
intent = getIntent();
 
ArrayList<클래스> listvo = (ArrayList<클래스>) intent.getSerializableExtra("키값");
 
클래스같은경우는 Serializable를 implements 해야됩니다
 
단순이 숫자나 문자같은경우는 더더욱 쉽구요.
 
도움이 되었음 하네요.

 

냐옹이류 (1,110 포인트) 님이 2014년 9월 11일 답변
냐옹이류님이 2014년 9월 11일 수정
...