0

ListView の各項目に 2 つのボタンがあります。Activity コントロールを制御したい。アクティビティで操作する必要があり、リスナーをボタンに直接設定することはできません。

だから私はこのコードを設定しました:

listView.setOnItemClickListener(new OnItemClickListener() {

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

アイテムのどのボタンがクリックされたかを知るには?

4

2 に答える 2

0

xml-layout でこれらのボタンに異なる ID を設定するだけです

@Override
public void onItemClick(AdapterView<?> arg0, View view,
int position, long id) {
    switch (view.getId) {
    case R.id.btn1: ...
    case R.id.btn2: ...
    }
}
于 2013-03-29T08:45:31.727 に答える
0

You have to handle it in adapter class.It will be most suitable way So make your custom adapter and then try this way in your getView method:

    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 ;
}
于 2013-03-29T08:45:57.497 に答える