2011-04-27 6 views
0

저는 첫 번째 Android 앱을 개발 중이며 모든 구조가 어떻게 작동하는지 배우려고합니다. 지금은 "행"이라는 "보기"가 있습니다. Row에는 뷰가 생성 될 때 채워지는 TextViews와 EditText 뷰가 있습니다. 주 프로그램의 경우 ScrollView를 사용하여 행을 추가합니다. ListView가 더 이상적이지만 EditText는 사물을 엉망으로 만듭니다.보기에 데이터를 저장하는 방법

이 시점에서 여러 행을 만들고 ScrollView에 추가 할 수 있습니다. 실제로 ScrollView 내부에 LinearLayout에 추가합니다. 그러나 각각에 포함 된 값에 어떻게 액세스합니까? 나는 그들이 모두 같은 ID (행)를 가지고 있다고 믿는다. 내 첫 번째 생각은 데이터를 보유하고 어떻게 든보기에 각각을 바인딩하는 "항목"개체의 배열을 만드는 것이었지만 그렇게하는 방법을 모르겠습니다. 내가보아야 할 제안, 자습서 또는 견본이 있습니까?

+0

이 Listener를 사용하는 것보다 맞춤 ListView Adapter를 만드는 것이 더 좋습니다. Mark Murphy가 작성한 Fancy ListView 섹션에서 ListView 어댑터를 만드는 방법은 www.androidguys.com/tag/android-listview/를 확인하십시오. – chaitanya

+0

ListView 어댑터를 사용하는 것이 첫 번째 방법 이었지만 클릭 할 수있는 실제 행이 필요합니다. 사용자가 EditText에 숫자를 입력 할 수있게합니다. 그러나 클릭은 [여기] (http://stackoverflow.com/questions/2098558/listview-with-clickable-editable-widget)에서 설명한대로 작동하지 않습니다. 해결 방법은 [here] (http://www.androidsnippets.com/clickable-listview-items)이지만 오랜 것처럼 보이므로 다른 접근 방법을 생각하고있었습니다. – compuguru

답변

0

두 가지 해결책.

먼저 ListView를 사용하여 사용자 지정 어댑터를 만들 수 있습니다. 어댑터는 항목을 표시하는 역할을하며 거기에 EditText보기를 추가 할 수 있습니다.

둘째, 현재 설정입니다. 나는 당신의 코드가 어떻게 생겼는지는 모르지만 RowView에서 findViewById를 호출하면 다른 행이 아닌 해당 행의 id에 대한 컨트롤을 얻을 수 있습니다. 따라서 항목에 동일한 ID가 있어도 부모 행보기에서 찾기를 호출하여 필터 할 수 있습니다.

관련 문제