2013-03-29 9 views
0

В каждом элементе ListView есть две кнопки. Я хочу управлять элементом управления Activity. Я должен использовать его в Activity и не могу напрямую установить прослушиватель.Как узнать, какая кнопка нажата?

Поэтому я этот код:

listView.setOnItemClickListener(new OnItemClickListener() { 

@Override 
public void onItemClick(AdapterView<?> arg0, View view, 
int position, long id) { 
// TODO Auto-generated method stub 
} 
}); 

Как узнать, какая кнопка пункта нажата?

+0

это вид в окне просмотра зрения, так что вы можете сделать view.getId() и проверить, если он равен R.id.button1 или R.id.button2 –

+0

Вероятно, вы должны рассмотреть вопрос о создании onItemClickListener в каждая кнопка внутри адаптера, вы можете подключить метод getView() от вашего адаптера ? – MP23

ответ

0

просто устанавливать различные идентификаторы для этих кнопок в XML-макете

@Override 
public void onItemClick(AdapterView<?> arg0, View view, 
int position, long id) { 
    switch (view.getId) { 
    case R.id.btn1: ... 
    case R.id.btn2: ... 
    } 
} 
0

Вы должны справиться с этим адаптером class.It будет наиболее подходящий способ Так сделать свой собственный адаптер, а затем попробовать этот способ в вашем GetView метод:

public View getView(final int position, View convertView,ViewGroup parent) 
    { 
     if(convertView == null) 
     { 
      LayoutInflater inflater = getLayoutInflater(); 
      convertView = (LinearLayout)inflater.inflate(R.layout.YOUR_LAYOUT, null); 
     } 

     Button Button1= (Button) convertView.findViewById(R.id.BUTTON1_ID); 
     Button Button2= (Button) convertView.findViewById(R.id.BUTTON2_ID); 

     Button1.setOnClickListener(new OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       // Your code that you want to execute on this button click 
      } 

     }); 
    Button2.setOnClickListener(new OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       // Your code that you want to execute on this button click 
      } 

    }); 


    return convertView ; 
} 
+0

@mayuhu Уведомить меня, если это поможет вам или нет? – Rahil2952

Смежные вопросы