Android 包含单选按钮的ListView的关联菜单
我有一个带有自定义适配器的listview和一个行布局。该行由textview、imageview和单选按钮组成。实现该方法后,我无法获取单击视图的位置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
@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(),
这将为您提供此单选按钮所属的位置。。
看看它是否有效