2012-02-23 5 views
0

customView에서 ListView를 가지고 있고, 모든 행에 textView1과 textView2가 있습니다. 목록에 2 개의 레코드가 있고 목록에없는 버튼이 있습니다. 버튼을 클릭하면 2 레코드의 textView2에서 텍스트를 가져오고 싶습니다. 가능합니까?목록보기에서 특정 위치의 텍스트 가져 오기

답변

1

ListView에 데이터 집합을 사용하는 Adapter이 채워지고 있습니다. 이 데이터 세트는 Array, ArrayList 등과 같은 거의 모든 데이터 구조가 될 수 있습니다. custom_row과 같이 사용자가 정의한 레이아웃은보기의 구조, 즉 "where"항목이 목록의 항목 내에 표시되는 것과 같이 정의한 레이아웃과 같습니다. .

반면에 textView1textView2에 표시 할 내용을 ListView에게 알려주는 것은 귀하의 책임입니다. ListView을 데이터 세트에 연결하는 Adapter을 사용하면됩니다. 더 자주는 아니지만, ListView은 데이터 세트의 일대일 매핑입니다. 즉, 목록의 첫 번째 항목이 데이터 집합의 첫 번째 항목입니다 (두 항목 만 사용하는 것이 무엇인지 모릅니다. 정렬).

ListViewAdaptergetCount()을 호출하여 총 조회수를 확인합니다. 그런 다음 각보기가 화면에 표시되도록 getView()을 호출합니다. 이 방법에서는 목록의 단일보기 (custom_row)에 실제로 표시 할 내용을 정의합니다.

이제 데이터 세트의 어떤 항목이 ListView의보기를 채우기로되어 있는지 알 수 있습니다. 그러면 바로 읽을 수 있습니다. 예를 들어, getView()가하는 경우 :

textView2.setText(getItem(position).getSomeTextField()); 

을 그리고 원본 데이터 셋라는 ArrayList에이다 listDataSet

당신 만 할 수 listDataSet.get(2).getSomeTextField()

참고 : 당신은의 범위를 관리해야합니다 데이터 세트를 사용하여 어디서나 볼 수 있습니다.

+0

나는 이해하지 못한다. 미안하다. 내가 바보가된다면 – Razvan

+0

나는 더 자세한 내용을 추가했다. 희망이 그것을 분명히합니다. 이해해야 할 중요한 점은'ListView'는보기에 불과하다는 것입니다. 그것은 당신이 보여주기 위해 말한 것을 보여줍니다. 네가 무엇을 말하고 있는지 알아봐. –

1

ListView를 가져 오십시오 (어쩌면 이미 findViewById 덕분에 개체에 저장되어 있거나 ListActivity에서 getListView()).

그런 다음 목록보기에서 원하는 위치로 getItemAtPosition()으로 전화하십시오.

관련 문제