2016-11-16 47 views
0

對不起,只是一個小菜在這裏,我的老闆從前開發者那裏把這個交給我,我對android沒有任何意見。我的問題是如何傳遞getView>onClick方法中的額外動態值,以便我可以訪問。傳遞額外的值getView onClick方法

categoryCursorAdaptor

class categoryCursorAdaptor extends BaseAdapter { 

    Context context; 
    String[] data; 
    private static LayoutInflater inflater = null; 

    public categoryCursorAdaptor(Context context, String[] data) { 
     this.context = context; 
     this.data = data; 
     inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    @Override 
    public int getCount() { 
     return data.length; 
    } 

    @Override 
    public Object getItem(int position) { 
     return data[position]; 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View vi = convertView; 
     if (vi == null) vi = inflater.inflate(R.layout.item_category, null); 
     TextView text = (TextView) vi.findViewById(R.id.specialCatItemName); 
     text.setText(data[position]); 
     Button Button1= (Button) vi.findViewById(R.id.btnSpecialView); 
     Button1.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       //Access extra values here 
      } 
     }); 
     return vi; 
    } 
} 

CategoryActivity

String[] catValsArr = new String[arrayCatVals.size()]; 
    catValsArr = arrayCatVals.toArray(catValsArr); 
    lvSpecialCatList = (ListView) findViewById(R.id.lvSpecialCatList); 
    lvSpecialCatList.setAdapter(new categoryCursorAdaptor(this, catValsArr)); 

回答

2

你已經有positiongetView(....)所以用它來從String Array

String myData = data[position]; //Use myData 
得到正確的數據

under onClick(...)

+0

對不起,你能多解釋一下。我對你剛纔所說的話毫無頭緒。 –

+0

@DevilRaily你在'getView(..)'方法中的位置,所以用'index'來從'Array'獲取數據 –

+0

你能給我一個例子。謝謝! –