2012-01-25 2 views
1

나는 목록보기 만들기위한 코드를 다음 있습니다 :ListView 항목에서 TextView를 가져 오는 방법은 무엇입니까?

SimpleAdapter adapter=new SimpleAdapter(this, DictionaryDbWrapper.getInstance().getAllWords(), 
      android.R.layout.simple_list_item_2, new String[]{DictionaryDbHelper.WORD, DictionaryDbHelper.CATEGORY}, 
      new int[]{android.R.id.text1, android.R.id.text2}); 
    mList.setAdapter(adapter); 

그것은하고, 나에게 모든 올바른을 요소를 보여주는 작품.

 View view=mList.getSelectedView(); 

     if (view==null) { 
      Toast.makeText(UpdatingWordActivity.this, "1", Toast.LENGTH_LONG).show(); 
     } 

을하지만 mList.getSelectedView는()도 나 null을 반환 : 또한 나는 항목에서 클릭에 대한 코드를 다음과 같이 OnItemClickListener 있습니다. 왜? 이 캐스트 던져 예외 않는 이유 :

UPDATE는

View v=(View)mList.getItemAtPosition(0); 
+0

텍스트보기의 문자열을 가져와 사용할 수 있도록 하시겠습니까? 또는 어떤 기능을 더 설명해주십시오. – Nitin

답변

-1

목록보기 매개 변수로 OnItemClickListenerView v을, 당신은 텍스트를 얻으려면이 매개 변수를 사용해야합니다.

다음은이 topic에 대한 Android 튜토리얼입니다.

+0

제 질문에 대한 업데이트도보십시오. – user1166635

+0

시도해보십시오, TextView v = (TextView) mList.getItemAtPosition (0); – kosa

0

getSelectedView()을 호출하면 listview와 함께 라디오 버튼을 사용할 수 있습니다. CHOICE_MODE_SINGLE을 참조하십시오. getItemAtPosition()은 기본 어댑터에서 getItem(position)을 호출하기 만합니다. 귀하의 경우에는 SimpleAdapter입니다. SimpleAdapter.getItem()이 뷰를 반환하지 않기 때문에 캐스팅에서 예외가 발생합니다. 어댑터의 지정된 위치에있는 데이터의 맵을 반환합니다 (저는 믿습니다). 다른 어댑터는 getItem() 메서드에 대해 다른 것을 반환합니다. 예를 들어, 커서 어댑터은 커서를 반환합니다.

첫 번째 질문에 대한 대답은 위의 대답을 참조하십시오.

관련 문제