Android 包含单选按钮的ListView的关联菜单

Android 包含单选按钮的ListView的关联菜单,android,listview,android-contextmenu,android-radiobutton,Android,Listview,Android Contextmenu,Android Radiobutton,我有一个带有自定义适配器的listview和一个行布局。该行由textview、imageview和单选按钮组成。实现该方法后,我无法获取单击视图的位置 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { Log.d("menuinfo: ",""+menuInfo); //This returns null men

我有一个带有自定义适配器的listview和一个行布局。该行由textview、imageview和单选按钮组成。实现该方法后,我无法获取单击视图的位置

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {

    Log.d("menuinfo: ",""+menuInfo); //This returns null
    menu.setHeaderTitle("Select action");
    getMenuInflater().inflate(R.menu.menu_testing, menu);
}

我认为罪魁祸首是单选按钮,但它是listview的重要部分,我无法删除它。欢迎提出任何解决方法和建议

您可以从适配器类本身获取已单击的行的位置

public class Myadapter extends BaseAdapter implements OnClickListener,OnBufferingUpdateListener{

@Override
    public View getView(final int position, View convertView, final ViewGroup arg2) {
        // TODO Auto-generated method stub

          View vi = convertView;

         crntposition=position;

          if(convertView==null){

              Context context=arg2.getContext();
               inflater = ( LayoutInflater )activity.
                       getSystemService(Context.LAYOUT_INFLATER_SERVICE);

         vi = inflater.inflate(R.layout.songlistrow, null);

        // vi.setTag(R.id.parentlay, holder.parnt); 
     }

// your code 

 vi.setOnClickListener(new OnItemClickListener(crntposition));

        return vi;

    }

private class OnItemClickListener  implements View.OnClickListener {
        private int mPosition;

        OnItemClickListener(int position) {

            mPosition = position;

            //System.out.println("pos"+mPosition);
        }

        @Override
        public void onClick(View arg0) {


          System.out.println("current position"+mPosition);// you can use the position here I have just printed it

        }

    }

在适配器中,通过使用将radiobutton视图的标记设置为currentPosition

     yourbutton.setTag(position).
然后在单选按钮上设置onCheckedChangeListener

在监听器的onCheckedChaged方法中,您将获得状态已更改的按钮。按那个按钮,你就可以了

   yourButton.getTag(), 
这将为您提供此单选按钮所属的位置。。 看看它是否有效