2012-07-06 87 views
0

我正在使用listview。我已经添加了一个Textview和按钮到该列表视图。如何知道哪个按钮被点击。当我点击那个按钮时,我需要获取相关文本?列表视图中的按钮

任何人都可以帮助我吗?

+0

请发布使用自定义适配器您code..you?填充列表视图? – 2012-07-06 08:01:38

回答

0

,如果你不想使用列表项点击要添加的按钮,当您生成细胞,并添加您可以将代码设置为它button.setTag(INT)的按钮,就可以设置为标记单元格的位置,所以在按钮的点击监听器中,您可以检索button.getTag()单击的按钮的位置,如果您有一个数据结构,并且文本行在

之内
1

请参见下面的示例代码...你从这个获取想法..

这里list_v是列表视图

list_v.setAdapter(new ListViewAdapter_test(
           this)); 

public class ListViewAdapter_test extends BaseAdapter { 

     private LayoutInflater mInflater; 

     public ListViewAdapter_test(Context con) { 
      // TODO Auto-generated constructor stub 
      mInflater = LayoutInflater.from(con); 
     } 

     public int getCount() { 
      // TODO Auto-generated method stub 
      return a_product_id.size(); 
     } 

     public Object getItem(int position) { 
      // TODO Auto-generated method stub 

      return position; 
     } 

     public long getItemId(int position) { 
      // TODO Auto-generated method stub 

      return position; 
     } 

     public View getView(final int position, View convertView, 
       ViewGroup parent) { 
      // TODO Auto-generated method stub 
      final ListContent holder; 
      View v = convertView; 
      if (v == null) { 
       v = mInflater.inflate(R.layout.scan_row1, null); 
       holder = new ListContent(); 

       holder.name = (TextView) v.findViewById(R.id.sc_textname); 


       holder.total_rate = (Button) v.findViewById(R.id.button1); 

       v.setTag(holder); 
      } else { 

       holder = (ListContent) v.getTag(); 
      } 

      holder.name.setId(position); 

      holder.total_rate.setId(position); 

      holder.total_rate.setOnClickListener(mOnTitleClickListener3); 

      try { 

       holder.name.setText("" + a_product_name.get(position)); 

       holder.total_rate.setText("Read " + a_totreviews.get(position) 
         + " reviews"); 

      } catch (Exception e) { 
       // TODO: handle exception 

      } 

      return v; 
     } 
    } 

    static class ListContent { 



     TextView name; 

     Button total_rate; 

    } 

public OnClickListener mOnTitleClickListener3 = new OnClickListener() { 
     public void onClick(View v) { 
      final int position = list_v 
        .getPositionForView((View) v.getParent()); 

      /** do your code here whatever you want */ 

     } 
    }; 
+0

感谢Dhaval其工作!!!!!! – user1471876 2012-07-10 12:23:18

+0

我的荣幸....让它成真...... – 2012-07-10 14:17:40