2011-03-10 6 views
0

안녕하세요. 질문이 있습니다. OnItemClick 메서드에서 특정 값을 얻는 방법을 알고 싶습니다. 나는 위치를 얻을 수 있지만이 위치에 1 개 이상의 textview가있는 것으로 보이는 것은 첫 번째 textview를 얻을 수 있습니까? OnClick을 사용하는 listview의 특정 텍스트 뷰?

Heres는 내 코드

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
    HashMap<String, String> map = new HashMap<String, String>(); 

    for(int i=0; i<poi.length; i++){ 

    map = new HashMap<String, String>(); 
    map.put("first", poi[i][0]); 
    map.put("second",poi[i][1]); 
    mylist.add(map); 

} 

    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.row, 
       new String[] {"first", "second"}, new int[] {R.id.FIRST, R.id.SECOND}); 
    list.setAdapter(mSchedule); 
list.setTextFilterEnabled(true); 
    list.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
      Log.i("owen", Integer.toString(position)); 

//my code to get "first" string on click 
} 

감사

답변

1

원하는 텍스트 뷰의 리소스 ID를 알고 있다면, 당신은 onitemClick() 메소드에 전달 된 시각을하고 그 아이 찾을 수 있습니다

public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
    TextView myText = (TextView) v.findViewById(R.id.my_textview); 
    Log.i("owen", myText.getText().toString()); 
} 

위치는 AdapterView 목록의 행 위치와 관련이 있습니다.

+0

완벽하게 작동하는 좋은 물건. 감사 –