2011-05-12 4 views
0

이것은 초보자 질문입니다. 액티비티에서 뷰로 객체를 전달하는 가장 좋은 방법은 무엇입니까? 보기가 컨텍스트에 액세스 할 수 있음을 압니다. 의도는 아직 갈 길이 있습니까? 아니면 다른 것이 있습니까?활동에서보기로 데이터 전달

편집 : 데이터에 대한 세부 데이터는 객체에 저장된 작업에서 서버에서 가져온 사용자 정보입니다 :)

중요 몰랐다. 여기에는 사용자 ID, 이름 및 기타 세부 사항 (long 및 string의 혼합)이 들어 있습니다.

아이디어는보기에서 데이터를 사용/표시하고 가능하면 일부 필드를 수정하여이를 서버로 보낼 활동으로 다시 전달하는 것입니다. 또한 나와 함께 사용자 정보 개체를 만든 후보기를 만들고 실행합니다. 따라서 View가 시작된 후에는 그것을 사용하고 싶을 때 어떻게 든 객체를 가져와야합니다.

P

+0

어떤 종류의 데이터입니까? 그리고 그걸 View로 전달한다고 할 때 정확히 무엇을 의미합니까? TextView에 텍스트 또는 유사한 텍스트로 일부 데이터를 표시 하시겠습니까? 또는 어떤 종류의 데이터가 필요한 방식으로 뷰를 서브 클래 싱 했습니까? 우리가 무엇을 성취하려고하는지 조금 더 많은 정보를 주시면 도움이 될 것입니다. – FoamyGuy

+0

정확히 무엇을하려고하는지 자세히 알려주십시오. 보기는 활동과 어떤 관련이 있습니까? – TofferJ

+0

질문을 주셔서 감사합니다. 더 많은 정보를 추가하기 위해 편집했습니다. – user220201

답변

3

당신의 SetTag을 사용할 수 있습니다 : 나는보기가 정상적으로 활동의 일부로서 통과 데이터가보기에 활동을 형성 당신이 정확히 무엇을 의미하는지 모르는 http://developer.android.com/reference/android/view/View.html#setTag%28int,%20java.lang.Object%29

+0

이것은보기에만 해당됩니다. 보기를 시작하기 전에 활동에서 이러한 태그를 설정할 수 있습니까? 그것이 내가 필요한 것이기 때문에, 나는 내 손에 User 객체를 가지고 있고 View를 만들고 실행한다. 뷰는 User 객체를 사용할 준비가되면 User 객체를 가져와야합니다. – user220201

+1

나는 이것이 사용자 정의 생성자를 사용하여 생성하는 사용자 정의 View 객체라고 가정합니다. 사용자 객체를 생성자에 전달해야합니다. 만약 XML로부터 팽창 된 것이라면 뷰를 팽창시킨 직후'onCreate'에 태그를 설정하거나'findViewById'를 사용하여 View 인스턴스를 잡고 올바른 클래스로 캐스팅 한 다음 사용자 개체. 'onCreate'에서 이렇게하면 화면에보기가 표시되기 전에 모든 일이 일어납니다. – Femi

0

.

그래서 서버에서 데이터를 다운로드하는 활동의 onCreate() 방법에서 AsyncTask을 시작하는 것이 좋습니다. AsyncTask가 끝나면 데이터 팩을 데이터를 가져 와서 해당 뷰 요소를 채우는 활동 방식으로 데이터 팩을 전달합니다. TextView, EditText 등과 같은 뷰에 대한 참조를 얻으려면 findViewById() 메서드를 사용할 수 있습니다.

데이터 편집이 완료되면 Button 키를 눌러서 뷰에서 편집 된 데이터를 가져 오는 OnClickListener을 트리거하고 다른 AsyncTask를 시작하여 데이터를 서버로 다시 업로드합니다.