2015-06-02 3 views
0

Я разрабатываю приложение для Android с большим количеством элементов ListView. Я создал свой собственный ListAdapter, но я не очень доволен OnItemClickListener. Каков наилучший способ добавить слушателя к элементу, если каждый элемент имеет другие функции?Android ListView item onClick

+0

вы можете установить clickListener в 'getView' метод адаптера –

+0

Что вы подразумеваете под' добавлением слушателя на элемент, если каждый элемент имеет другую функциональность'? – user370305

+0

лучше разместить свой код getView. – dora

ответ

0

Вы можете попробовать это, я использую этот пользовательский адаптер & OnClickListener()

public class CustomListAdapter extends BaseAdapter { 

     private Activity activity; 
     private LayoutInflater inflater; 
     private List<Jobs> jobsItems; 

     public CustomListAdapter(Activity activity, List<Jobs> jobsItems) { 
      this.activity = activity; 
      this.jobsItems = jobsItems; 
     } 

     @Override 
     public int getCount() { 
      return jobsItems.size(); 
     } 

     @Override 
     public Object getItem(int location) { 
      return jobsItems.get(location); 
     } 

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

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 

      if (inflater == null) 
       inflater = (LayoutInflater) activity 
         .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      if (convertView == null) 
       convertView = inflater.inflate(R.layout.custom_list_row_no_preview, null); 

      Button submit = (Button) convertView.findViewById(R.id.btnSubmit); 
      serial.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       } 
      }); 


      convertView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       } 
      }); 

      return convertView; 
     } 

    } 

Аналогично вы можете добавить любой TextView, EditText или кнопки в вашем ListView и установить onCickListener()