2010-05-22 17 views
1

**你好,我想從我已經填充的Arraylist/ArrayAdapter檢索第二個值。我是Array新手,如果我錯了,請糾正我的錯誤onListItemClick與多元值/檢索值

Q1。我創建了數組收藏夾。我認爲我創建的是一個包含兩組值調用Detail |的數組值。示例Detail =「Yasmin」,Value =「8」。它是否正確? Q2302。我已將Favorite Array指定給mFavlist列表視圖。在OnItemClick期間,我可以通過列表視圖的位置返回標籤「Yasmin」。我想要做的是返回「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

你有在這裏沒有問任何問題。問題是什麼?有什麼症狀?你是否收到錯誤消息? – CommonsWare 2010-05-22 22:54:42

+0

我很抱歉,如果有任何混淆,我有問題的代碼塊。我會更新主要部分 – JuniorFlip 2010-05-23 00:53:52

回答

0

使用position參數來獲取到正確的位置在適配器

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