2011-08-16 10 views
15

배열 어댑터에 arraylist를 추가했습니다. 각 요소는 두 개의 요소/항목으로 구성되어 있습니다. setListAdapter 용 어댑터를 성공적으로 설정 했으므로 listview의 setOnItemClickListener에서 해당 항목을 가져 오려고합니다. 여기android의 setOnItemClickListener에서 listview에서 객체를 가져 오는 방법은 무엇입니까?

내 코드

TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);  
    setListAdapter(adaptor); 
    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 
    lv.setOnItemClickListener(new OnItemClickListener() 
    { 
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 
    //here i want to get the items    
    } 
}); 

답변

6
public void onItemClick(AdapterView<?> parent, View view,int position, long id){ 
    something = tweets[position]; 
} 
+0

분명히 유일한 해결책입니다. –

2

당신은 항목을 얻고 무엇을 그들과 함께하고 싶은입니까?

예를 들어 다음과 같이 토스트 메시지를 만들 수 있습니다.

public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 
     Toast.makeText(getApplicationContext(), tweets[position], Toast.LENGTH_SHORT).show(); 

    } 

희망이 있습니다.

48
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    int color = parent.getAdapter().getItem(position); 
} 
+0

고마워요. 그것은 나를 많이 도왔다. – Ark

+0

가장 정확한 대답 –

+0

위대한 답변입니다 – Ramon

-2

getListView().getItemAtPosition(position)TweetListAdaptor

2

Object를 반환 할 것이다 당신은 모든 datas와 준비 목록보기이 있고 오브제만을 사용의 값을 얻을하려는 경우 :

ViewGroup row = (ViewGroup) listprod.getChildAt(0); 
TextView tvTest = (TextView) row.findViewById(R.id.textnomprod); 

내 목록보기 "listprod"이고 위치의 값을 얻고 싶습니다. , textnomprod는 내 오브제와 메신저 절약 내 변수 tvTest

0
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { 
     Windows clickedObject = adapter.get(position); 
    } 
} 

, 위의 예에서 고려 윈도우라는 목록보기에 사용

  • 객체의
  • 객체 목록보기에서 클릭 한 항목의 이름은 입니다. 클릭 된 객체,
  • 사용 된 arraylist는 어댑터.

또한 ArrayList 앞에 최종으로 붙입니다.

0

이 어댑터를 사용하여이 문제를 해결했습니다.

TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);  
setListAdapter(adaptor); 
ListView lv = getListView(); 
lv.setTextFilterEnabled(true); 
lv.setOnItemClickListener(new OnItemClickListener() 
{ 
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    {  
     //here i want to get the items 
     adaptor.getItem(position); // this is your object 
    } 
}); 

어댑터를 초기화하고 ListView로 설정해야한다는 것을 명심하십시오.

이렇게하면 원하는 개체의 속성에 액세스 할 수 있습니다.

관련 문제