2016-11-16 57 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

你能给我一个例子。谢谢! –