2010-05-22 4 views
1

** 안녕하세요, 내가 채운 Arraylist/ArrayAdapter에서 두 번째 값을 가져 오려고합니다. 나는 Array에 익숙하지 않으므로 내가 잘못하면 나를 바로 잡으십시오.onListItemClick 다중 값/값 검색

Q1. Array Favorite를 만들었습니다. 내가 무엇을 만들었는지는 두 개의 값 호출을 가진 배열이다. Detail | 값. 예 Detail = "Yasmin", 값 = "8". 이 올바른지?

2. 즐겨 찾는 배열을 mFavlist listview에 할당했습니다. OnItemClick 동안 나는 "Yasmin"레이블을 listview 위치로 리턴 할 수 있습니다. 내가하고 싶은 것은 "8"의 가치를 반환하는 것입니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

내가

import java.util.ArrayList; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.AdapterView.OnItemClickListener; 

public class lister extends Activity { 
    /** Called when the activity is first created. */ 
     TextView txHomeTeam; 
     protected ListView mFavlist; 
     protected ArrayList<Favorite> fakeFavs = new ArrayList<Favorite>(); 

@Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     this.setContentView(R.layout.main); 


     this.txHomeTeam = (TextView)this.findViewById(R.id.title); 

     fakeFavs.add(new Favorite("John", "1")); 
     fakeFavs.add(new Favorite("Yasmin", "8")); 
     fakeFavs.add(new Favorite("Jack", "10")); 

     //this.mFavlist = (ListView) this.findViewById(R.id.list_favorites); 
     this.mFavlist = (ListView) this.findViewById(R.id.list_favorites); 
     initListView(); 

     mFavlist.setTextFilterEnabled(true); 

     mFavlist.setOnItemClickListener(new OnItemClickListener() { 
         @Override 
         public void onItemClick(AdapterView arg0, View view, 
              int position, long id) { 

           // user clicked a list item, 
    //and read the value from <Favorite>.value 
           //txHomeTeam.setText=???? 

           } 

     }); 

    } 

    public void refreshFavListItems() { 
      mFavlist.setAdapter(new ArrayAdapter<Favorite>(this, 
          android.R.layout.simple_list_item_1, fakeFavs)); 
    } 

    public void initListView() { 
     /* Loads the items to the ListView. */ 
     refreshFavListItems(); 

    } 
protected class Favorite { 
     protected String Detail; 
     protected String value; 

     protected Favorite(String Detail, String value) { 
       this.Detail = Detail; 
       this.value = value; 

     } 
     public String toString() { 
       return Detail; 
     } 
} 


} 
+0

어댑터에 올바른 위치에 도착하기 위해 position 매개 변수를 사용하여 배열 및 어댑터 **를 통해 궤도에 오전 있으면 알려 주시기 바랍니다 여기에 어떤 질문도하지 않았다. 문제가 무엇입니까? 증상은 무엇입니까? 오류 메시지가 표시됩니까? – CommonsWare

+0

혼란이 있으면 제게 사과드립니다. 코드 블록에 문제가 있습니다. 나는 주요 부분을 갱신 할 것이다. – JuniorFlip

답변

0

당신은이

public void onItemClick(AdapterView arg0, View view, 
              int position, long id) { 
    Favorite selectedFav=lister.this.fakeFavs.getItem(position) 
} 
관련 문제